SaaSでいこう!なブログ

無償で試せる負荷テスト SaaS、CA BlazeMeter(通称:JMeter on クラウド)の使い方や技術Tipsなど

CA BlazeMeter で JMeter テストを実行

いままでの記事は、CA BlazeMeter の無償アカウントサインアップ手順やChromeプラグインを使ったJMeterスクリプトJMX)の超簡単生成など事前準備な話ばかりでしたが、いよいよJMeterテストを実行してみます。

では早速、CA BlazeMeter にサインインします。

f:id:hironishino:20170719093216p:plain

こんなダッシュボードが出ます。CA BlazeMeterのメイン画面です。メニューバーにある「Create Test」をクリック。

f:id:hironishino:20170719093417p:plain

いろいろ面白そうなテストタイプがあって興味をそそられますが、今回は JMeter テストをクリック

f:id:hironishino:20170719093527p:plain

JMeterテストのコンフィギュレーション画面が開きます。まずは手元のJMXファイルをドラッグドロップでアップロードします。
(上図は前回記事CA BlazeMeter の Chromeプラグインで JMeter スクリプト(JMX)を速攻で生成 - SaaSでいこう!なブログChromeプラグインJMX生成&ダウンロードした直後の状態なのでダウンロードにJMXファイルがありますが、ふつうにWindowsエクスプローラからドラッグドロップでもOKです)

ここで簡単に画面の説明をしておきます。まず画面右側はLoad Configuration(負荷設定)ペインです。以下に拡大。

f:id:hironishino:20170719093934p:plain

この設定を言葉で言うと、

  • 20人のユーザが20分間、無限繰り返しでWeb操作(JMeterスクリプト)を行う。
  • いきなり最初から20人アクセスではなく開始後300秒かけて徐々に20人に到達する(ランプアップ)。
  • 負荷は、米国アイオワ州にあるGoogleクラウドサーバのインスタンスからかかる(ロードジェネレータ)

こんな感じです。ちなみにJMX内にも同様の設定が(スレッドグループに)ありますが、CA BlazeMeterはデフォルトではそっちは見ず、こっちの設定を見ます。(2017/07/25追記:JMX側の設定を優先する方法はこちら

あと「SandBox Mode」のチェックボックスをオンにすると、SandBoxというシェアード(共有)のロードジェネレータが使われます。これを選ぶ意義はライセンス上のテスト回数が「目減り」しないことに尽きます(過去記事:無償アカウントの制限 - SaaSでいこう!なブログを参照)。お試し実行目的にもってこいです。
一番上の「Run as Functional API test」は最近追加された機能で、負荷テストではなく機能テストを行うモードです。機能テストはそのうち別の記事にしたいと思っていますが、端的な違いを言うと、テスト結果として要求/応答電文まで収集してくれる点です。

画面説明を続けます。画面左下はオプション設定です。

f:id:hironishino:20170719095927p:plain

項目名でだいたいどんなオプションか直感でわかると思いますが、ここはオプションなので、何も設定しなくてもとりあえず動きます。使い込んでいくうちに、これらを上手く使っていくことになると思います。1つだけ紹介しておくと、「JMeter Properties」はJMX内のプロパティ(${__P(HIRO)}みたいな)をここから設定できます。しかも負荷テスト実行の最中に、この値をブラウザから動的に書き換え可能です!例えばJMX内のターゲットスループットの値をプロパティにしておけば、CA BlazeMeter は負荷テストの最中に、「もうちょっとスループットを上げてみよう」みたいな動的な調節ができちゃう(詳細はコチラということです。これは JMeter だけでは実現が難しいところなので、CA BlazeMeter の特徴の1つだと思います。
その他のオプションとしては、APM連携も面白いです。これは本当に面白いので、そのうち独立した記事にしようと思っています。ネットワーク帯域エミュレーションは、モバイル端末からの負荷を模擬させるとき便利そうです。

 

・・・さて画面の説明で長々と書いてしまいました。JMeterテスト実行手順に戻ります。

すでにJMeterスクリプトJMXファイル)はアップロード済みですか?下図のようになっていればOKです。
f:id:hironishino:20170719101801p:plain

画面左上の「Enter name」というところに、「MY-FIRST-TEST」と入力

f:id:hironishino:20170719101951p:plain

負荷設定の「Originate load from:」プルダウンで、せっかくなのでTokyoのAWSインスタンスを選んでみます。(テスト回数は消費されます。でもまあ10回もあるのですから気にせずどーんといきましょう!w)

f:id:hironishino:20170719102313p:plain

 

スライダーの設定項目はデフォルトでも良いのですが、せっかちな私は20分も待ってられないので、Durationを3(分)、ランプアップを20(秒)にしました。

f:id:hironishino:20170719102635p:plain

「Save」をクリック

f:id:hironishino:20170719102903p:plain

いよいよテスト実行です。実行ボタン(緑の三角ボタン)をクリック

f:id:hironishino:20170719103053p:plain

「Launch Servers」をクリック

f:id:hironishino:20170719103219p:plain

あなたの負荷テストのために(有償アカウントだと、あなたのためだけに)AWSの東京リージョンのインスタンスが起動している最中です。100%になるまで3分くらいかかります。

f:id:hironishino:20170719103639p:plain

インスタンスが起動したら、負荷テストが始まります。グラフやメトリックはリアルタイムで表示されます。ステキですね!

f:id:hironishino:20170719103904p:plain

テストが終了すると、メールにも結果サマリが届きます。
ブラウザからテスト結果サマリを見てみましょう。画面右上の「Exective Summary」をクリック

f:id:hironishino:20170719105206p:plain

これを保存しておけば、テストエビデンスになりますね。

これで CA BlazeMeter を使った初めての JMeter テストは完了です。
かなり簡単だと思いませんか?テストはテスト自体が重要なのであってテストツールは息をするみたいに簡単あたりまえに使えるべきだと思っているのですが、けっこうそれに近いんじゃないかなと私的には思います。

 

おまけ

f:id:hironishino:20170719105724p:plain

1回分消費!w