ルートが 1 つの Express アプリを作成しました。ハンドラーは、受信したリクエストの本文をcouchdbデータベースに保存します。
スレッドを使用して 10000 個の小さな要求を非同期的に送信する C# クライアント アプリを作成しました。一部のリクエストは、「ターゲット マシンがアクティブに拒否したため、接続できませんでした」という例外メッセージで失敗します。
これは、ノードプロセスがキューに入れられた接続の最大数に達したためだと思います。そうですか?
このアプリは概念実証であり、実際のアプリにはそれほど大きな負荷はかかりませんが、制限をテストして、それらがどのように機能するかを理解したいと考えています。
2 つの質問があります。
キューに入れられたリクエストの最大数を制御する方法はありますか? 「無制限」に設定できますか?そうでない場合、最大値は何ですか?なぜ最大値があるのですか?
ノード アプリケーションで、ドロップされたリクエストをキャッチしてログに記録する方法はありますか? 本番アプリで、サーバーがリクエストの最大数に達したことを知りたいです。
より詳しい情報:
- これをWindowsで実行しています
- backlog パラメータを設定するために app.listen(3001, 'localhost', 10000) を試しました。同じ結果です。