P2P地震情報 開発ログ

気象庁の地震情報・津波予報とユーザの「揺れた!」という情報を共有するサービスの開発記録です。

システム テストプログラム 第1回 "サーバ ストレステスト" 結果

P2P地震情報システム テストプログラム

 12月14日(日),P2P地震情報システム テストプログラム 第1回 "サーバ ストレステスト"を実施しました。ご参加いただきありがとうございました。

よい結果

  • 1サーバあたり約23,000ピアまで耐えられることが分かりました。
  • 最高値は,22時42分の23,568ピアでした。
  • 1分あたり約1,000ピア以上の参加要求を安定的に処理しました。

わるい結果

  • 実質的に,ルータ ストレステストになりました。サーバがネックになったのは,ピーク時のごくわずかな時間でした。
  • アクセスが極度に集中すると,ほとんど接続を処理できなくなるほどパフォーマンスが大幅に低下することが分かりました。
  • テスト用プログラムにおいて,最小化するとエラーが出る,閉じるボタンを押してもプロセスが残るなどの不具合がありました。

おまけ

  • ルータ ストレステストになってしまった。
    • ルータ(WHR-G54S)がボトルネックになり,19時頃まで4,000ピアで停滞。
    • 別ルータ(BBR-4HG)に変更して改善したが,最高値の約23,000ピア付近でふたたび停滞。
  • サーバのスペックというより,TCP/IPコネクション操作がボトルネックになった。
    • サーバ側でソケットをcloseするのは良くない。TIME_WAITが大量に発生してしまう。
    • 処理能力を上回る状態でlistenを続けるのは良くない。すぐcloseしても,FIN_WAIT_1, CLOSING, LAST_ACKといった状態でしばらく残って邪魔になる。