http_loadでお手軽パフォーマンス測定

http://www.acme.com/software/http_load/
http_load というツールがありまして、これを使うとごくごく簡単なパフォーマンス測定ができます。
ただし、headerつけたりとか cookieセットしたりとか、BASIC認証を突破させるとか、そういう気の利いたことはできません。
アクセスするURLを複数指定できますが、URL毎の計測結果は出せません。
どこかのページが集中的にアクセスされたとき(Yahoo!トップに載るとか、炎上するとか)にどのくらいパフォーマンスが出るか調べるのにお手軽で良いです。

インストール

~% wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
~% tar xvfz  http_load-12mar2006.tar.gz
~% cd http_load-12mar2006
~% make
~% make install

urls.txt 作成

アクセスさせたいurlのリストを作ります。
ファイル名はなんでもいいです。1行に1つURLを書きます。

実行

  • http_loadコマンドに、並列度と時間(もしくはfetch数)、urlを書いたファイル名を渡して、実行します。
  • ためしに僕の昔の個人ブログへアクセスしてみます。
  • parallel で並列度を、seconds で時間を指定します。
    • 5並列で10秒アクセスしてみます。
~% http_load -parallel 5 -seconds 10 urls.txt

結果

9318 fetches, 5 max parallel, 4.48496e+08 bytes, in 10 seconds
48132.2 mean bytes/connection
931.8 fetches/sec, 4.48496e+07 bytes/sec
msecs/connect: 0.984502 mean, 61.396 max, 0.441 min
msecs/first-response: 1.55972 mean, 64.012 max, 0.701 min
HTTP response codes:
  code 200 -- 9318

connectにかかった時間と、responseがあった時間の平均値、最大値、最小値を出してくれました。