負荷試験ツールJMeterとの奮闘【新卒新入社員Hの奮闘記 第2章】


どうも、新人エンジニアの平田です。社会人二年生になりました。
時間が経つのが本当にあっという間です。この一年で色々な経験をさせて頂きました。毎日がコンピュータとの戦いであり、ほぼほぼ負けております。とりわけ、数ある失敗の中で、初めての本番反映(リリース)にて役に立ったツールがありました。それが、負荷試験ツールJMeterです。

本日は、負荷試験ツールJMeterとの奮闘っぷりをご紹介しましょう。

 

奮闘の始まり
とあるお客様にてご提供していたシステムは、運用から5年が経過し、経年によるデータ量の増大等により、一部の機能にパフォーマンスダウンが見られるようになってきていました。
この一部の機能というのは、学習履歴の検索機能で、検索条件によっては結果が出力されるのが体感的に遅いと感じられるレベルでした。
そのため、この検索処理に改修を加えることになりました。

改修後、ユーザーさんが一気に集中してログインしてきたことを想定したとして、修正されたクエリはどれだけの負荷に耐えられるか? クエリ実行時にフロントサイドへの影響はどの程度か? を検証するためにJMeterを利用することになりました。

JMeterは、無料で誰でも利用することができ、柔軟に様々な状況に適用できる負荷試験ツールです。弊社でも様々の案件で利用され実績が豊富だったので、今回もJMeterを採用しました。

ただし、このJMeter、万能なツールではありますが、その分設定方法やシナリオ作成にちょっとした癖があります。また、ネット上にはJMeterに関する情報は沢山ありますが、中々自分の使いたいような利用事例が見つからないものでした。

そこで、あれこれ悩みながら取り組んでみたのですが、せっかくなので今回行った内容を以下のSlideShareにてJMeterの簡単な使い方をまとめてみました。

 

 

JMeterと戦ってみた感想
JMeterはクエリパフォーマンスをはかるには、とてもコストパフォーマンスのよいツールでした。どんな環境でも柔軟にパフォーマンス計測できるように様々な設定ができるようになっており、とりわけ、検証結果レポートは、高負荷によるタイムアウトエラーが起きた際、どこが原因かを探るのに役立ちました。

とはいえJMeterに慣れるまでに時間をある程度時間を要しました。パラメータの設定違いやデータの不整合により、なかなか上手く行かず、何度も何度も行ってようやく期待する結果を出すことができました。

プロジェクトとして決められた時間で成果を出すのがプロフェッショナルですので、総じて完敗です。
(最終的には、使いこなせるようになりましたし、成果はあったのですが)

 

次のプロジェクトではもっと上手く使いこなせるようになると思いますので、次のJMeterでの負荷試験案件を絶賛受付中です(笑)

とはいえ転んでもタダでは起きないぞ、というわけで、今回の失敗から学んだ内容を上記のスライドにまとめました。次の戦いへの準備は万全であります。

次回予告
次回は、米国オンライン家庭教師市場レポートをお届けしていきます。