web-dev-qa-db-ja.com

abを使用したnginxのベンチマーク:ピアによる接続のリセット(54)

最近nginx1.0.8にアップデートし、キャッシュされた動的ページ(最初はproxy_pass経由でDjango app)によって提供されます)と静的ページのパフォーマンスをベンチマークしようとしました。どちらの場合も、nginxはそれ以上提供されません3つまたは4つのリクエストよりも(同時接続がなくても)、abはほぼ即座に次のように報告します。

apr_socket_recv: Connection reset by peer (54)

Abが正常に終了するのは、最大4つ(またはそれ以下)の要求を選択した場合のみです。

何故ですか?ワーカープロセスの数を増やしてみましたが(運が悪い)、nginxは構成変数を調整せずに4つ以上のリクエストを処理できるはずだと思います。ある種のDOS保護メカニズムを誤ってトリガーした可能性がありますか?

5
janeden

単純なNode.JSアプリに対してローカルテストを実行しているabで同じ問題を実行していました。私が見つけた回避策は、ab -rを示すDon't exit on socket receive errorsオプションを使用することでした。

しかし、このエラーの根本的な原因は、ボックスに入れることができるオープンソケットの数が限られていることです。 OSxを使用している場合は、この回答を参照して、この制限に高い数値を設定できます。

負荷テストのためにosxのソケットの制限を増やす方法

5
Arash Milani