JMeter セッションを利用した負荷テスト
前回は、GET・POSTでの負荷テストをJMeterで実施する方法を説明しました。
(興味のある方は、JMeter フォームの負荷テストをご覧ください)
最近ではUXが流行っていることもあり、ログインフォームなどはユーザの利便性を考慮して、セッションを利用して情報を保持させておくことが一般的になりました。
そんなケースに遭遇してもJMeterにお任せください!
セッションを利用した負荷テストも対応可能です(さすがJMeter!)
そんなわけでセッションを利用したページの負荷テストにおける、JMeterの設定について説明したいと思います。
実施方法
それでは、実施方法について説明していきます。
まずは、テストサイトを確認していきます。
テストサイトの動作
テストなので以下の通り単純な動作をするページを用意しました。
ページにアクセスした際、
- セッション情報がなければ「もうmisleadはコリゴリだ」という魂が込もった文字列をセッション情報として保持させる
- セッション情報があれば、格納されている値を表示させる
というシンプルな動作をします。
テストページは、いつものpenguinweb.netに用意しています。
URLはhttp://penguinweb.net/113.htmlです。
アクセスすると、本文に
初回の訪問です。セッションを開始します。
セッションには『misleadはもうコリゴリだ』を格納しています。
と表示されるのを確認したら、オレンジの矢印の箇所をクリックしてページをリロードさせます。
リロードすると、
セッションが入っています。
セッションに格納されている値は、『misleadはもうコリゴリだ』です。ここでセッション情報を破棄します。
と表示されます。
なお、cookieを無効にしたブラウザでアクセスすると、セッション情報が保持されないため いくらページをリロードしても初回訪問の表示となります。
(上記キャプチャはFirefoxのcookie無効設定画面です)
テストページの動作を確認したら、JMeterを設定していきましょう。
JMeterの設定
JMeterでセッション情報を保持するためには「HTTPクッキーマネージャ」を利用します。
設定はすごく簡単です。
スレッドグループの上で、右クリックをして 「追加 > 設定エレメント > HTTPクッキマネージャ」を追加しています。
以下の画面キャプチャの通り「HTTPクッキーマネージャー」が追加されます。
あとは、JMeter ブラウザの動きを記憶させるを参考に、先ほどのテストページで説明した動作を記憶させれば準備OKです。
登録したら、停止を押しましょう。
最後に動作確認です。
スレッドグループにリスナー(結果をツリーで表示)を追加して、負荷テストを実施します。
すると以下の通り、最初のアクセス結果とリロードしてセッション情報を保持した状態でアクセスした結果が、テストページと同じであることが確認できます。
初回のアクセス
リロード (セッション情報を保持した状態でアクセス)
なお、以下の画面のとおり「HTTPクッキーマネージャ」を無効にして負荷テストをすると、リロード時の結果が初回アクセスと同じものになります。
これは、セッションが有効でないため、プログラムが初回アクセスと判断している結果です。
最後に
負荷テストの話とはちょっと逸れてしまいますが、昨今セッションハイジャック等でユーザの情報を第三者に盗まれてしまうケースがあります。
ところが、今回のようなセッションの中身を確認する機会があると、システムの脆弱性に気がつくことができるのです。
僕自身、セッションIDが推測されやすいものが発行されているという脆弱性を指摘したことがあります。
(かなり昔ですけどね、、、)
どんなにすごいスキルをもったプロフェッショナルであっても、人が作業する以上は必ずミスがあります。
己のスキルを高めればそれだけ、周りを助けることもでき、結果、品質の向上につながります。
日々精進しましょう。
コメント一覧
[…] mislead記事用セッション利用ページ 対象記事:JMeter セッションを利用する […]