mixiのアクセス障害の原因

投稿日:

ネットで「キャッシュサーバの不具合」という記事を見て、ビビッと来たので調べてみたところ、案の定memcachedが原因だったようですね。

このソフト、一般にはあまり馴染みがないかと思いますが、「変数名=値」という非常に単純なデータしか保持することが出来ない代わりに、全てをメモリ上に展開することで、とても高速にデータを検索することが出来ます。

そのため、OracleやMySQL、Postgresといったデータベースのキャッシュ(=ようは一時的な物置部屋)として非常に有効なため、毎日ウン十万アクセスがあるような大手サイトではほぼ間違いなく使用されています。

例えば、Facebookなどは300TB(!)ものデータをオンメモリで保持しているそうです(汗。

そして今回の障害は、1サーバ当たり3万アクセス程度の同時接続が発生した際にmemcachedのプロセス(正確にはmemcachedが使用しているlibeventというライブラリ)が死んでしまうのが事の発端だったそうで。

memcachedは私の携わっているシステムでも使用しているので他人事ではないのですが、幸いなことに毎秒20アクセス程度の負荷しかかかっていないので、全く問題なさそうで安心しました。

ちなみに3万というと、signed shortの最大値である32,767の近傍なので、なんかオーバーフローしてしまった的な気はしますが、一日でも早く安定稼働宣言をしてもらいたいものです。