テストに役立つツール紹介 -Hedgehog-
つーじーです。横浜市長選が終わり、新しい市長が就任いたしました。今後ヨコハマがどのようになっていくのか、自分なりに情報を追っていきたいと思います。
さて今回のツール紹介では、負荷試験に役立つシステム『Hedgehog』を簡潔にご紹介したいと思います。
負荷試験システム『Hedgehog』
Hedgehogは株式会社アストレアが展開している負荷試験用ツールで、手軽さやUIの見やすさが売りとなっております。各種サポートやオプションも豊富です。
負荷試験システムHedgehog
ツールの使い方 – 負荷試験のシナリオ作り
負荷試験を実施するためには、まず基準URL(検証対象のURL)を設定し、そのページで負荷を確認したい挙動を「GET」「POST」などのHTTPリクエストメソッドで記述していきます。
挙動確認したいページのHTTPリクエストメソッドがどのようになっているかは、開発者に確認するか、Google Chromeの開発者ツール(Windowsなら「F12」キー、Macなら「command + alt + I」)で確認するのが良いでしょう。
例えば上の画像のリクエストグループの一番最初、「GET」「/login」となっているところは、基準URL(https://●●●●●.e2info.com)のログインページ(https://●●●●●.e2info.com/login)に遷移したことを示します。その次にいったん1000ミリ秒のスリープを挟み、「POST」「/login」でログインに必要な情報(email、password)を記述しております。さらに「GET」「/■■■■■」に進むことで次のページ (https://●●●●●.e2info.com/■■■■■) へと遷移しております。
こうしたシナリオ作りを自分で好きなように作れるところもHedgehogの特徴の一つです。
上の画像の通り大抵のHTTPリクエストメソッドは指定可能となっているため、大体の処理は網羅できます。
その他、トークンなどのレスポンス内容をセッションに保存して変数として使用したり、CSVを使ってIDや名称の一覧を読み込ませて連続読み込みさせたり、タイムアウト時間の設定、エラー許容率の設定、認証方式の設定などなど、多くの機能を兼ね備えております。
ツールの使い方 – テスト実施
シナリオテスト実施時に「どれだけの数のブラウザからアクセスされることを想定するか(仮想ユーザ数)」「何回同じ処理をループさせるか」「回数未指定の場合、何秒間継続させるか」などを指定することでテスト実行できます。
ツールの使い方 – テスト結果
テストが完了すると、リクエストが何回発生したか、秒間リクエストは何回か、レスポンスタイムの最大・最小・平均はどれくらいか、どの程度エラーが出たか、どこでエラーが出たかなどなど、様々な情報が視覚的にわかるようになっております。テスト実施時にリアルタイムでグラフを視認できるのもHedgehogの強みです。
例えば出力結果が「レスポンスタイム:最大6500ミリ秒 平均800ミリ秒 95%2700ミリ秒」となっていた場合は、
「負荷試験中のレスポンスタイム最大約6.5秒。平均は約0.8秒。全体のレスポンスのうち95%は2.7秒以下に収まっている」
とわかる。この処理時間によって、サーバー増設するか減らすかなどを検討することができるようになります。
また、上の画像では「POST」「リダイレクト2」の部分が「NG」「16(回)」となっているため、ここにボトルネックとなる部分があることもわかります。
視覚的に大変分かりやすくなっているためとてもおすすめのツールです。
各種詳細は公式ホームページにてお尋ねください。今回はこれにて。