ウェブソケットを使用するグループチャット機能を構築しています。現在のインフラストラクチャがサポートできる接続の数をテストする必要があります。
基本的には、Websocketをシミュレートする方法に要約されます。
私の最近の経験から提案をすることができます。 WebkitベースのPhantom仮想クライアントをチャットサーバーに接続し、リソース使用量を測定できます(つまり、CPU、メモリ、シェルスクリプトまたは別のユーティリティを使用しているか、サービスをプロファイルできます)
var system = require('system');
var page = require('webpage').create();
page.viewportSize = { width: 1024, height: 768 };
page.open("<URL to chat server service>", function (status) {
// Check for page load success
if (status !== "success") {
console.log("Unable to connect");
phantom.exit();
} else {
console.log("Client connected ");
//after connecting you may extract further information, taking screenshots etc. refer the phantom.js API for further details
}
});
Websocket通信にsocket IOのようなフレームワークを使用していますか?
数年が経ち、Websocketの負荷テストを行う別の新しいツールがあります: https://github.com/observing/thor
この目的のためにJmeterを使用してはどうですか。まだWebSocketを直接サポートしていませんが、TCPサンプラーを使用してジョブを完了できます。
または、JMeterにWebSocketサポートを追加するプラグインを入手できます。 http://github.com/maciejzaleski/JMeter
言うまでもなく、JMeterとWebSocketプラグインはどちらもオープンソースであり、無料で使用できます。
そのために負荷テストツールを使用できます。
同様のプロジェクトで WebLOAD を使用しました。ブラウザを使用するときにWebトラフィックを記録します-通常のHTTPリクエストとWebソケットトラフィックも記録します-その後、多くのユーザーでスクリプトを再生し、サーバーの動作を測定できます。
Node.jsでそれを行うので、実際のクライアントでも使用するものと同じwebsocketクライアントライブラリを使用できます。
私はtsungで素晴らしい経験をしました http://tsung.erlang-projects.org/