Twitterの大規模システム運用技術、あるいはクジラの腹の中(前編)~ログの科学的な分析と、Twitterの「ダークモード」

2010年6月30日


622WebVelocity 2010

TwitterJohn AdamsTwitterIn the Belly of the Whale: Operations at TwitterTwitterTwitterWeb

RailsBittorrent使

2


John AdamsTwitter
fig

Twitterは現在、従業員が210名。

fig

Twitterへのアクセスは、API経由が75%でさらに上昇中。

fig

1日に6500万ツイートされており、1秒間だと約750ツイート。

fig

最大負荷の瞬間は、ワールドカップで日本代表が得点したときの、秒間2940ツイートだったが、これを先日NBAで2連覇を達成したレイカーズが優勝したときの秒間3085ツイートが上回った。

fig

オペレーションチームの役割



fig

Webサイトの利用者数が500から数百万、数千万に増えると、最初に考えていた設計は有効ではなくなる。ある規模で有効な策は、その規模でしか有効ではないことを学んだ。サイトの設計を何度も考え直さなければならなかった。私たちはいまでもそうして何度もやりなおしている。

fig

MTTDMean Time To DetectMTTRMean Time To Recovery


fig

システム管理は「Sysadmin 2.0」という新しい役割へ

「モニタリング」は、Webサイトに何が起きているかを理解するために非常に重要だ。Twitterは重要なメトリクスをほとんどリアルタイムにモニタしている。もしもあなたがAPI経由でTwitterにアクセスするアプリケーションを開発しているのなら、同じようにデータを集めてTwitterとアプリケーション間でどのような通信が起きているのかモニタすべきだ。

fig

Sysadmin 2.0Sysadmin 2.0
fig

TwitterAapcheRuby使tcpdumptcpdstatyconalyzer
fig

きっと多くの人がRailsの性能の問題について聞いたことがあると思うけれど、私たちが経験した性能の面での問題についてRubyが直接関係したことはなかった。ガベージコレクション、レプリケーションラグ、SQLの問題、ほとんどはこれらが原因だった。

fig

syslogsyslog

FacebookScribeHDFSHadoopFacebook800PHP
fig

ダッシュボードとダークモード

「ダッシュボード」が、つねにモニタリングで最初に見る画面だ。ここで何が起きているのか、10個程度の重要なメトリクスについて見ている。ほかにもマーケティング部門はGoogle Analyticsも使っている。

fig

うまく行ったのがシェルスクリプトで作った「Whale Watcher」スクリプトだ。Twitterのエラーとして、HTTP 503(Timeout)が発生するとクジラの画面が表れて、HTTP 500(error)のときはロボットの画面が表れる。過去60秒のあいだにこれらがどれだけ起きたかを集計してグラフ化している。これがとても役立っている。

fig



Darkmode使Twitter使

Darkmode90
fig

TwitterTwitterUnicornKestrelFlock DB


Twitter


Twitter


TwitterGizzard


TwitterGizzard ScalaSharding


Facebook

あわせて読みたい

運用・監視 Ruby Twitter




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


10


AIEinstein Service AgentSalesforce
GitLabDatadogCEO
Google DocsMarkdown
PostgreSQLCharmed PostgreSQLCanonical
Chrome DevToolsAIGemini
AWSAIAIAmazon Q Apps
AWSAmazon Q DeveloperAPI
AIGrazieJetBrains
Oracle ExadataExadata Database Service on Exascale Infrastructure
AWSAIAWS App Studio