JMeter サイト内のページにランダムにアクセスして負荷をかけるテスト
みなさんは、好きなアーティストのライブに行くことはありますでしょうか。
有名アーティストは全国ツアーが決まるとECサイトで商品を販売するため、ツアーグッズを求めたファンによる集中アクセスによって大変なことになります。
そのため、サーバーをスケールアップしておくなどそれ相応の準備をしておく必要があり、当然、負荷テストが必要になります。
ところが複数の商品を取り扱うECサイトは、商品によっては1人3個まで限定商品だったり、注意書きが多かったり、商品画像が多かったりとするため、特定の1商品を購入するだけのテストシナリオでは、評価に偏りが出てしまいます。
でもご安心ください。
以前、コチラの記事の最後に書いたとおり、JMeterはランダムにページにアクセスする負荷テストを設定することができるのです。
というわけで、本日はJMeterで設定したHTTPサンプラーにランダムでアクセスする設定方法について紹介したいと思います。
利用する機能
ページにランダムアクセスするためは、ロジックコントローラの乱数コントローラを利用します。
乱数コントローラはループごとに属するHTTPサンプラーのいづれか1つを選択して実行してくれます。
今回のシナリオ
冒頭で例に挙げましたが、とあるECサイトのトップページにアクセス後、複数ある商品詳細ページにランダムにアクセスするシナリオを作ります。
ECサイトは、以前httpsのシナリオを記憶する記事で使ったhttps://lolipop-dp25166794.ssl-lolipop.jp/ec/を使います。
(httpsリクエストを記憶する記事はコチラ)
なお商品詳細ページは、上記画面キャプチャのオレンジ枠の箇所にある4商品のページを利用します。
ECサイトトップから、これら4商品の商品詳細ページにランダムでアクセスするシナリオを設定していきます。
設定方法
それでは設定方法を紹介していきます。
まずは、2人が30秒間に5回アクセスする負荷レベルでECサイトのトップページにアクセスするHTTPサンプラーを作成します。
次に「乱数コントローラ」を先ほど作成したHTTPサンプラーの下に配置します。
すると以下の画面のようになります。必要に応じて名称を変更して下さい。
作成した「乱数コントローラ」の中に商品詳細ページにアクセスするHTTPサンプラーを設定します。
商品詳細ページのURLはそれぞれ以下のとおりGETパラメータを利用していますのでご注意ください。
- https://lolipop-dp25166794.ssl-lolipop.jp/ec/?p=7
- https://lolipop-dp25166794.ssl-lolipop.jp/ec/?p=18
- https://lolipop-dp25166794.ssl-lolipop.jp/ec/?p=22
- https://lolipop-dp25166794.ssl-lolipop.jp/ec/?p=24
なお、GETパラメータを利用したHTTPサンプラーの設定については、コチラを参考ください。
最後に、リスナーの「結果を表で表示」を追加して設定は完了です。
実行すると、以下の画面キャプチャのとおりECトップページにアクセス後、指定した4つの商品ページにランダムでアクセスしていることがわかります。
簡単ですね。
最後に
先にあげた大人気アーティストの物販サイトであればグッズの数もさほど多くないかと思います。
これが商品が1,000以上あるような巨大ECサイトの場合だったらどうなるでしょう?
・
・
・
イメージできましたでしょうか。
そう、1000個のHTTPサンプラーを手動で登録することになるのです!!!
まぁ出来なくはないですが、大変ですしなにより面倒くさいです。
100個くらいなら手作業でも我慢できそうですが、1,000個となると設定ミスも起こりますのでチェック作業も鑑みると、結構大変です。少なくとも僕は嫌です。笑
なーんてちょっと脅してみましたが、実はHTTPサンプラーはCSVで作成しておけば外部参照することができるのです!
(すげーぜJMeter!)
JMeterの外部ファイル参照については、また別の機会に紹介したいと考えておりますので、本日はこれにてご容赦いただければと思います。
2017.2.10追記
CSVファイルの参照については、コチラ以下の記事を参考ください。
コメント一覧
コメントはありません