私は Tornado アプリケーションへのリバース プロキシとして Apache を使用しており、現在システム上で Websocket の負荷テストを行っています。
まだ予備段階なので設定は次の通りです:
- サーバーへの Websocket 接続を確立する Node.js スクリプトを作成しました。接続が確立されると、別の接続が再帰的に確立されます。
- 私は、このスクリプトをローカル ラップトップから最大 3000 接続で実行し、同時に別のサーバー (Websocket サーバーとは異なるデータ センター) でも最大 3000 接続で実行しています。そのため、両方のサーバーが立ち上がると、6000 接続でサーバーにアクセスします。
負荷を上げて、各スクリプトを突然終了し (6000 の接続をすべてキャンセル)、Apache を再起動すると、サーバーのシステム負荷が異常に急上昇することがわかりました。300 ~ 500 程度です (サーバーには 16 個のコアがあります)。
しかし、驚くべきことに、何も影響を受けていないようです。 と の結果は、vmstat
ディスクiostat
と CPU がほとんどアイドル状態であることを示しています。私のアプリは引き続き問題なく動作しています。ローカル マシンから while ループで実行されている Tornado アプリケーションへのクエリさえあります。
再起動による小さな問題以外、影響を受けていないようです。次にトラブルシューティングできる場所について何かアイデアはありますか?