web-dev-qa-db-ja.com

Apache / abテストの問題-apr_socket_recv:接続が拒否されました(111)

テストに問題があります Apacheサーバー2.4 沿って ab。 ApacheサーバーはWindows上でサービスとして実行され、Linux上にある別のサーバーからテストします。

私は書きます:

 ab -n 1000 -c 1000 "http://x.x.x.x/image.jpg"

出力:

 This is ApacheBench, Version 2.3 <$Revision: 655654 $>
 Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
 Licensed to The Apache Software Foundation, http://www.Apache.org/

 Benchmarking x.x.x.x (be patient)
 apr_socket_recv: Connection refused (111)

いつ -nおよび-cは100で、問題ありません。以前にテストしたことがあり、問題はありませんでしたが、すぐにクラッシュし始めました。私はすべてを試しました mpm_winnt_module、しかしそれは助けにはならなかった。

(私はApacheのデフォルト値を使用します。)

それはネットワークの問題ではないと思います。 Wiresharkで、しばらくすると通信がリセットされることがわかります。私によると、Apacheは有罪です。

2
goLK

ab-cオプションは並行性のためのものです。つまり、1000の同時リクエストを実行するように指示しているのです。 デフォルトの接続数 Apacheがサービスを提供するのはWindowsでは150です。そのため、100の同時実行は成功しますが、1000の同時実行は失敗します。

気が向いている場合(そしてサーバーが負荷を引き受けることができる場合)、mpm_winnt_modulehttpd-mpm.confセクションで ThreadsPerChild を1000に増やすことができます。また、httpd-mpm.confhttpd.confでコメント解除されていることを確認してください。

3
karyhead