|
|
||
某大手SNSの障害に関連してmemcachedに負荷をかけるツールを書いたので一応書いておく。
最大接続数に達しているときに高速で接続/切断を繰り返すとmemcachedが終了してしまうというもの。
最大10000コネクション試行して、statsコマンド発行する。接続に失敗するか900コネクション以上いってたら切断するという処理。AnyEventを使っている。
クライアント側のCPUコア数に合わせて適当に複数プロセス起動すればより効率的に負荷がかけられるでしょう。手元の環境では数分で安定して落とすことができるけど、サーバーのスペックなんかによっては再現できないかもしれない。
memcachedとlibeventのどちらの問題なのかとか、どこ修正すべきなのかとかは俺の専門ではないので判断しかねる。
一般向けの広報はあくまで「キャッシュサーバーが云々、データベースが云々」なのであって、具体的なプロダクト名を上げるのは技術者向けの情報共有で、コミュニティへのフィードバックです。「memcachedが悪い」とか「memcachedのせい」とか、ましてや責任転嫁とかそういう性質のものではないし、そういう捉え方をするのはとても失礼なので、やめて欲しいなーと思いました。
何か間違ってたり、修正されたりしたら適当なタイミングで追記します。
詳細な再現条件と原因が判明、そんなわけでコネクション数が足りてる場合は起きません。すぐに修正されるわけではないので運用でカバーしましょう。
そんなことよりグローバルIP持ってるサーバーで外からmemcachedにアクセス出来ないようにとか気をつけたほうが良いですよ!!
ログがうるさすぎるの直したのと、余計なモジュールuseしてるの消したのと、自前でfork機能を入れておきました。小ネタは消した。
Lalaine2011/12/14 11:16Deep tuhoght! Thanks for contributing.
sffwfewfnn2011/12/14 21:22xnDDtU <a href="http://luwfdwjkeynq.com/">luwfdwjkeynq</a>
braagjdymi2011/12/15 22:41p5pVzg , [url=http://oobluehlvayu.com/]oobluehlvayu[/url], [link=http://nbvqgyauqdkf.com/]nbvqgyauqdkf[/link], http://qvgdinypctjc.com/
bjrioxstiu2011/12/17 01:33ddGc4d , [url=http://gznjuopokrkk.com/]gznjuopokrkk[/url], [link=http://ikzyhtsktpve.com/]ikzyhtsktpve[/link], http://vlnfwalyfhyz.com/