web-dev-qa-db-ja.com

Apache Benchmarkは、各リクエスト間の間隔を許可しますか?

バースト要求をブロックするサーバーがあります(同じIPアドレスが1秒間に3回以上サーバーにアクセスすると、500エラーが発生します)。

そのため、Apacheベンチマークを使用すると、同時実行性を1に設定した場合でも、失敗したリクエストが多数表示されます。

各リクエストの間隔を設定するオプションはありますか?または、この間隔機能を提供する同様のベンチマークツールはありますか?

2
lulalala

同時実行性が3に制限されている意味のある負荷テストを実際に実行することはありません。おそらく、テスト元のIPの1秒あたりの要求数の制限を削除する必要があります。

2
Shane Madden

abからwatchを実行して繰り返しアクセスを遅らせることはできますが、レポートの概要をあまり使用することはできません。

watch -n 1 ab -n 3 http://serverfault.com/

または、curlではなくabを実行します

watch -n 0.4 curl http://serverfault.com/

watchの詳細: http://www.linfo.org/watch.html

5
Ryan McGeary

そのようなオプションはありません

設定可能なタイミング設定のみ

-t時間制限

ベンチマークに費やす最大秒数。これは-n 50000内部的に。これを使用して、一定の合計時間内にサーバーのベンチマークを行います。デフォルトでは、時間制限はありません。

しかし、待つとベンチマークの効果はどうなりますか?実際の結果はまったく得られません。

2
user106666

また、詳細度をログに記録するためにテキストファイルを追加することもできます。

watch -n 1 'ab -n 3 -v3 http://serverfault.com/ >> ab.txt'

エラー5xxの発生をカウントできます。たとえばvimの場合:

:%s/HTTP\/1.1 5//n

または永久移動3xx

:%s/HTTP\/1.1 3//n

次に、ホスティングを詳細に分析して、パフォーマンスを調整します。

0