web-dev-qa-db-ja.com

Webサーバーのベンチマークと負荷テストのヒント?

さまざまなWebサーバー設定(mod_phpとphp as fastcgi、最大/最小ワーカー/スレッド構成など)のベンチマークと負荷テストを試みています。私はabから始めていますが、この仕事に推奨される他のツールに興味があります。 WebサーバーはLinuxサーバーですが、必要に応じてデスクトップマシンからWindowsベースのテストツールを実行できます。

テクニックに関する推奨事項にも興味があります。例えば:

  • (Webサーバーと同じマシンで実行したり、バックグラウンドプロセスとしてデスクトップマシンで実行したりするのではなく)別のマシンから実行すると、より有用な結果が得られると思います。これは正しいです?

  • 同様に、プライベートIP上の同じデータセンターにそのマシンを配置することで、テストに対するネットワークの問題の影響を減らすことができると思います。

  • あらゆる種類の実際のテストを取得するために、単一のファイル以上のものをセットアップしたいと思います(abでこれを行うこともできますか?)。

他のヒントはありますか?

3
Brian

siege を実行するコンピューターの教室を設置するのが好きです。

Wgetを使って一度ウェブサイトをクロールします

wget -r -l0 -np -O /dev/null http://domainname.com
// Note that the -l0 means that it will recurse infinitly, depending on your site, 
// you might want to change that to something lower, say ... -l3
// This will crawl the site, and throw all the contents away.

次に、次のようなワンライナーを使用して、サーバーログからすべての一意のURLをフェッチします。

awk '{ print "http://domainname.com"$7 }' access.log | sort | uniq

次に、このファイルを使用するようにsiegeを設定し、ランダムな順序でそれらを試行します。

siege -f siegeurls -i -b

また、さまざまなヘッダーを送信したり、useragentを設定したりするように構成することもできます。

包囲戦をご覧になることをお勧めします。これは、自分でWebサイトリグをテストするときに使用するセットアップです。

2
Kvisle