テストに問題があります 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は有罪です。
abの-c
オプションは並行性のためのものです。つまり、1000の同時リクエストを実行するように指示しているのです。 デフォルトの接続数 Apacheがサービスを提供するのはWindowsでは150です。そのため、100の同時実行は成功しますが、1000の同時実行は失敗します。
気が向いている場合(そしてサーバーが負荷を引き受けることができる場合)、mpm_winnt_module
のhttpd-mpm.conf
セクションで ThreadsPerChild
を1000に増やすことができます。また、httpd-mpm.conf
がhttpd.conf
でコメント解除されていることを確認してください。