バースト要求をブロックするサーバーがあります(同じIPアドレスが1秒間に3回以上サーバーにアクセスすると、500エラーが発生します)。
そのため、Apacheベンチマークを使用すると、同時実行性を1に設定した場合でも、失敗したリクエストが多数表示されます。
各リクエストの間隔を設定するオプションはありますか?または、この間隔機能を提供する同様のベンチマークツールはありますか?
同時実行性が3に制限されている意味のある負荷テストを実際に実行することはありません。おそらく、テスト元のIPの1秒あたりの要求数の制限を削除する必要があります。
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
設定可能なタイミング設定のみ
-t時間制限
ベンチマークに費やす最大秒数。これは-n 50000
内部的に。これを使用して、一定の合計時間内にサーバーのベンチマークを行います。デフォルトでは、時間制限はありません。
しかし、待つとベンチマークの効果はどうなりますか?実際の結果はまったく得られません。
また、詳細度をログに記録するためにテキストファイルを追加することもできます。
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
次に、ホスティングを詳細に分析して、パフォーマンスを調整します。