人気ブログランキング |
(ツール)WEBサイトの負荷試験でJMeterを使ってみた
運用中のWEBサイトで、一部のクライアントから、たまにPHPのWEBアプリのページで HTTP 500 のステータスになるという報告がありました。

ただ、自分のクライアントPCからでは現象が起きません。
もしかしたら、サーバが過負荷の状態があるのかもしれないと思って、負荷試験をすることに。。

以前某メーカー系でJ2EEアプリケーションサーバ開発時は Microsoft の Web Application Stress ツールを使って評価してたので、ほんと久しぶり(数年ぶり)に使おうと思ったら、Vista には対応してないんですね。
インストール中にエラーは出るし、インストール後も「MSVCP50.dllが見つからなかったため...」という感じで起動できませんでした。

で、別のツールを探してると JMeter たるものを発見。
あの Tomcat と同じ Jakarta Project で開発されてる Java 上で動く負荷試験ツールのようです。
Jakarta Projectのサイトからバイナリ、ソース共にダウンロードできます。

一応下記のサイトを参考に使ってみました。(時間なかったんで、触りしか読んでませんが。。。)
STACK*:【連載 】JMeter(高機能/フリーなテストツール)
TECHSCORE:JMeterの基本
@IT:第2回 JMeterによるWebサーバ性能評価の勘所

使い方等は上記サイトで丁寧に説明されてました。
なんか HTTP 以外にも FTP とか JDBC とかいろいろな負荷試験が出来るようです。

今回はあるPHPページで認証やクッキー、POST情報が要らないページだったので、割合とすんなりできました。

起動には、「jmeter.bat」を開いてやればOKです。


e0091163_2313779.jpg

↑まず「スレッドグループ」というのを作る必要があるそうです。


e0091163_2332633.jpg

↑そのスレッドグループで、スレッド数やループ回数、いわゆる負荷を設定します。
上記の図は、かなり大負荷ですね。。。
小規模サイトなら普通はスレッド数 10 くらいでやってたかと。。


e0091163_2334669.jpg

↑「サンプラー」でリクエストの種類を設定します。
これ見ると、いろいろありますね。JMeter の高機能さが伺えます。


e0091163_234766.jpg

↑WEBサーバに対するテストなので、HTTP のサンプラーを追加しました。
ここで、サーバ名や対象ページ、パラメタを設定します。


e0091163_2342457.jpg

↑後は、「リスナー」でどのような結果表示するかを設定します。

e0091163_2343730.jpg

↑これが、「結果をツリーで表示」リスナーで表示した結果です。
赤がステータスがダメだったやつですね。
やっぱり HTTP 500 が結構返ってます。。。

今回は最低限の機能しか使ってませんが、いろいろ使いこなすとかなり強力なツールになりそうです。
by jehoshaphat | 2009-07-07 23:07 | ツール


<< コマンドプロンプトでシステムド... (WindowsServer2... >>