JMeterはサーバで使おう

JMeterの主な用途は、やっぱり負荷テストツールだろう。
実はそれ以外でも使える場面がいろいろあるが、これはまたいつか。


JMeterに限らず、PCにインストールして使う負荷テストツールの問題は、クライアントがネックになってしまうこと。
数万単位での負荷を掛けるのが難しいこと。
JMeterで100スレッド立ち上げると、かなりPCが不安定になる。
僕のマシンのスペックはWinXP/2.8GHz/1024MB。悪くはない。


Windowsの場合、各種設定はjmeter.batでできる。
初期状態でJMeterのHeapは-Xmx256mとなっているので、512mにチューニングしてみた。
それでも100スレッドくらいが限界。
オプションに -Xloggc:gc.log -XX:+PrintGCDetails を追加してGCViewerで確認したが、メモリがネックというわけではなさそう。
タスクマネージャでCPUを見ても、そこまでクライアントが高負荷になっているわけではない。
Javaが入っていれば、JMeterはファイルを置くだけで実行できる。


ちゃんとした負荷評価が必要なシステム(高負荷に耐える必要のあるシステム)って、APサーバは複数台設置されていることが多い。
システム全体に負荷を掛けることも大切だけど、これは難しいことが多い。
1サーバの性能を評価する方向に持っていって、使わないサーバから負荷を掛ければいい。
これは以前どこかで、HPのなかの人がJMeterについて発表されていた内容。


負荷テストのフェーズは、プロジェクトの最後になることが多いと思う。
でも負荷テストは難しいし、大変。制約条件の多いなかでテストしなくてはならない。
JMeterが選択肢のひとつにあれば、大分幅が広がると思う。
サーバが使えなくて、クライアントを大量に用意しなくてはならない場合も、少なくともライセンス費用は考えなくて済む。


ばりばり業務系の複雑なシステムを評価する目的だと、JMeterは使い辛いかもしれない。
向いていないわけではないし、ちゃんとシナリオを作ればできる。
ただし機能の問い合わせはできないし、GUIはやっぱりちょっと貧弱だし、サポートがないので敷居が高いのかもしれない。
でもJMeterを使ったほうが良い場面もたくさんあると思う。
今後も積極的に使っていきたい。

参考

JMeter