Apache: ab を使用して、1 秒あたり 100 個の新しい接続をシミュレートします。

Apache: ab を使用して、1 秒あたり 100 個の新しい接続をシミュレートします。

特定の数の同時接続をシミュレートするためにabで「-c」スイッチを使用できることがわかります。 「ab」を使ってシミュレーションする方法はありますか?毎秒100人の新規顧客私のウェブサイトにアクセスするか、ファイルを受け取りますか?これらの負荷で、私のサーバーがどのように機能するかを知りたいです。

答え1

でそうできるかもしれませんab

そのために、私はよりカスタマイズ可能な方法でサーバーに負荷を注入できるJMeterを使用します。試してみてください。

答え2

jmeterさらに、あなたが得た結果はab一般的にあまり役に立ちませんので、アンケートを実行することをお勧めします。このツールは、サーバーの実際のワークロードを作成するには簡単すぎます。時にはそれが必要なすべてですが(たとえば、ネットワークサーバーについて心配せずに負荷がかかりながらシステム全体で起こっていることだけを心配している場合)、実際には多くのことはしません。

私もあなたがそれを簡単に使用することができないことに同意しますab。あなたが得ることができる最も近いものは次のとおりです。

for x in $(seq 1 10); do
ab -c 100 -n 100 http://localhost/ &
sleep 1
done > /tmp/abOutput.txt

abこれにより、毎秒新しいインスタンスが起動され、一度に100個のクライアント接続を作成するように指示されます。

この答えは少し誇張されており、いくつかのabロジックを追加し、bash出力を読むのは少し難しいですが、何もないよりも優れています。これよりも複雑な内容を確認することをお勧めしますjMeter

答え3

Pythonにある程度慣れているなら、おそらくバッタ試してみてください。 Locustを使用するには、確認する必要があるすべてのURLを含むPythonスクリプトを作成する必要があります。 POST要求を開始し、データをサーバーに公開することもできます。完了したら、LocustのWebインターフェースを実行し(またはコマンドラインインターフェースを使用して)偽装するユーザーの数を指定します。 Webインターフェースはリアルタイムの更新を効果的に提供します。

関連情報