可変URLを送信するための「ApacheBench」のような負荷テストツールについては誰でも知っています。 (サーバーは同じですが、クエリ文字列が異なります)
例えば、
ab -text list.txt -n 1000 http://test.com/search?
list.txt
name=abc&age=10
name=pqr&age=20
anything=anything&age=30
......
注:実際には、Apacheベンチにはそのようなオプション-textはありません
それはあなたが必要なものを提供するので、包囲を試してみてください。 bashのようなパラメーターを使用するURLファイルを作成して、自分で繰り返す必要がないようにすることができます。また、基本認証、POST、ログインURLなどもサポートしています。
siege -f urls.txt
urls.txt:
URL=https://www.example.com/
$(URL)index.php?ab=1
$(URL)site.php?different=12
詳細については、こちらをご覧ください: http://www.joedog.org/siege-home/
この次のプロジェクトapachebenchを複数のURLに使用できます 複数のURLのApacheベンチ
ApacheBenchでサポートされているマルチURLリクエスト。 URLリストを「-Lファイル名」として設定し、各リクエストのドキュメント長の応答を確認することもできます。
windowsのコマンドラインから:
for /F %q in (list.txt) DO ab -n 1000 https://test.com/search?%q
Apache Benchも、データの収集方法もわかりません。私のアプローチでは、おそらくlist.txtの各行のデータの新しい収集が開始されますが、これは望ましくない場合があります。さまざまな実行の結果を手動で集計する必要があります。
(デバッグするには:
for /F %q in (list.txt) DO echo ab -n 1000 https://test.com/search?%q
実行するステートメントをコンソールに出力します)
Apacheソースコードを取得し、パッチを http://chrismiles.livejournal.com/21720.html でApacheのab.cソースの現在のバージョンに移植する準備ができている場合(Cにある程度慣れている必要ですが、それほど多くはありません)、abで-text
パラメーターと同等のものを取得する必要があります(実際には、パラメーターのサブセットのみを変更したいPOSTのベンチングに適したリクエストに追加する機能があります)。
私は現在これを自分で試しているので、審査員はまだ出ていません...しかし、初期の指標は、このアプローチがうまく機能していることです。