私は Node.js ワークロード テストに取り組んでおり、興味深い動作に遭遇しました。HTTP サーバーの最小応答時間は、最も単純なロジックでも 200 ミリ秒です。
var http = require("http");
http.createServer(function(request, response) {
response.write("Hello World");
response.end();
}).listen(8080);
Windows Server 2003 で実行:
> node main.js
ウェブを検索しましたが、これに関する情報は見つかりませんでした。テストはローカル ネットワークで行われ、さらに他の Web サーバー (つまり IIS) を使用すると、即時の応答時間を実現できます。誤解しないでください。この動作の背後には合理的な説明があるので、これが私の質問です。
これはnode.js に付属するデフォルトの動作ですか、それとも何か他の結果である可能性がありますか?
オンデマンドでの説明:
- ノード js バージョン: 0.6.11
- OS: Windows Server 2003 R2 SP2
- サーバー環境:VMWare Workstation 8.0.0
- ワークロード ユーティリティ: jMeter 2.6 (1 スレッド ワークロード)
アップデート
遅延動作は、リモート リクエスト中にのみ表示されます。ローカル ワークロード テストを実行すると、レイテンシはほぼゼロになります。ただし、同じサーバー上の IIS に対するリモート リクエストでは遅延が発生しないため、ネットワーク遅延の問題になることはありません。他のOSで試してみます。