ステップ 1: スクリプトの作成
スクリプトを作成するには、以下のようにさまざまな方法があります。
- BlazeMeter Chrome 拡張機能を使用してシナリオを記録します
- JMeter HTTP(S) テスト スクリプト レコーダを使用します。これによりプロキシがセットアップされ、テストを実行してすべてを記録できます
- すべて手動で操作し、最初からすべてを構築します。この方法は機能/QA テストでは一般的です
記録からスクリプトを作成する場合は(上記の手順 1 および 2)、以下の点に注意してください。
- ユーザ名やパスワードなどの特定のパラメータを変更する必要があります。または、各ユーザが一意になるように、これらの値を含む CSV ファイルを設定することもできます。
- Token-String、Form-Build-Id などの要素を、正規表現、JSON Path Extractor、XPath Extractor を使用して抽出する必要が生じることがあります。これにより「AddToCart」、「Login」などの要求を完了することができます。これらの手順については、この記事を参照してください
- スクリプトをパラメータ化し、HTTP Requests Defaults のような設定要素を使用して、環境を切り替えるときにより簡単に作業を行えるようにする必要があります。
ステップ 2: JMeter によるローカル テスト
「View Results Tree」要素、デバッグ サンプラ、およびダミー サンプラを使用して、1 スレッド、1 回の反復を含むスクリプトのデバッグを開始します。JMeter のエラーが報告される場合に備えてログ ビューアを開いておきます。
すべてのシナリオの True と False の応答を調べて、スクリプトが期待どおりに実行されていることを確認します。
1 スレッドを使用してスクリプトが正常に実行されたら、10 分間に 0 から 20 スレッドまで増やして以下の点を確認します。
- 一意のユーザが表示されますか(一意に指定している場合)?
- なんらかのエラーが表示されますか?
- 登録プロセスを実行している場合は、バックエンドを確認します。アカウントはテンプレートに従って作成されていますか? 一意なアカウントですか?
- サマリ レポートに表示されたテストの統計情報は正常ですか(平均応答時間、エラー数、ヒット/秒に関して)?
スクリプトが準備できたら、以下の手順に従います。
- すべてのデバッグ/ダミー サンプラを削除し、スクリプト リスナを削除してスクリプトをクリーンアップします。
- リスナを使用する場合は([Save Responses to a file]など)、パスを使用しないでください。リスナまたは[CSV Data Set Config]の場合は、ローカルで使用したパスを使用せず、代わりにファイル名のみを使用するようにしてください(スクリプトと同じフォルダにある場合のように)
- 独自の JAR ファイルを使用している場合は、JMX と一緒に BlazeMeter にアップロードします。
- 複数のスレッド グループを使用している場合(または標準のスレッド グループを使用していない場合)は、値を BlazeMeter にアップロードする前に設定し、BlazeMeter のテスト設定ページで[Threads]および[Users]スクローラをオフにしてください。そうすれば、スレッド グループから値が取得されます。
ステップ 3: JMX およびテスト アセットのアップロード
Jmeter テストの作成を開始するには、上部のナビゲーション バーの[Create Test]ボタンをクリックし、[Jmeter Test]を選択します。関連するプロジェクト内でテストを作成することを忘れないでください。
画面の左上のセクションに、JMX を一括でアップロードできる場所があります。
- 各テストの開始時に、アカウント内のすべてのファイルがリモートの JMeter サーバにダウンロードされます。
- テスト中に、アカウント内のファイルは数分おきに同期されます。
- 負荷テスト中はファイルを削除できません。テストが終了した後、またはテストが開始する前にのみファイルを削除できます。
テスト設定ページへのファイルのアップロードに関する詳細については、この記事を参照してください。
[Load Scenario Properties]セクションの下に、テストを実行する場所を選択するオプションがあります。
スライダに沿ってマーカーを動かすことで、Jmeter の設定を制御および上書きできます。各設定について以下に簡単に説明します。
- Users: 必要なユーザ数を選択します。エンジンとスレッドは、この数に従って自動的に調整されます。
- Engines and Threads: これらの設定を自動的に行わないようにするには、[Users]セクションのチェックを外して手動で設定します。注: フリーティアのユーザはエンジンにアクセスできず、スレッド数は 50 に制限されています。
- 増加: テストで必要な増加速度を選択します。
- Iterations: テストの反復回数を選択します。注: これは自動的に無制限に設定されます。
- Duration: テストを実行する全体の期間を設定します。
- Delay: 各ページ リクエスト間の遅延の持続時間を設定します。
- Limit RPS: 1 秒あたりの要求数の上限を設定します。
これでテストのセットアップが完了したので、レポートの終了時に電子メールを受信するように[Email on report end]を選択できます。
すべて完了したら、テストに名前を付けて[Save]をクリックすると、Jmeter テストを実行できます。
詳細オプション
- Jmeter version - テストを実行する Jmeter のバージョンを選択します。この値はユーザが選択できますが、最新の Jmeter リリースを選択することを強くお勧めします。
- Java version - テストを実行する Java バージョン(1.7 または 1.8)を選択します。
- Test Failure Criteria: 必要に応じてテストを失敗させるために、さまざまなメトリックの失敗条件を設定します。
- DNS - Hostname Override: JMeter エンジンに対し、自動的に DNS を参照するのではなく特定の IP レコードを使用するように指示する場合は、このオプションを使用します。適切な IP を入力すれば、ラベルを変更しなくてもスクリプトがリダイレクトされます。JMeter スクリプト(このドキュメントの後半で説明します)を使用している場合は、ステージング環境と実稼働環境の間で負荷をリダイレクトするためにスクリプトを変更する必要はありません。
- JMeter Properties - ここで JMeter のパラメータを設定できます。これはリアルタイムの機能です。たとえば、ヒット数を追加して値を 100 に設定したり、実行のタイプを true に指定したりできます。これらのパラメータは、スクリプトの実行中にエンジンに送信されます。
- Command Line Arguments - コマンド ライン変数をコンソールやエンジンのプロパティ ファイルに直接送ることができます。たとえば、JMeter プロパティ ファイルになんらかの値を送る場合も、ここから行うことができます。ここで指定したパラメータで上書きされるため、間違った値を指定するとテストでエラーが発生する可能性があります。注意して使用してください。
- Network Emulation: ここでは、任意の種類のプリセットを選択して、ネットワーク接続(モバイルまたは Web)、帯域幅、および遅延をエミュレートすることができます。
- New Relic APM: New Relic API キーをここに入力して、プロファイルを選択できます。
- New Relic Insights: New Relic Insights にアクセスするための認証情報を入力します。
- Cloudwatch: AWS アプリケーション監視ツールを統合すると、プロファイルを選択してアプリケーション サーバ側の KPI を表示できます。
- ここには、[Split CSV]という追加機能が 1 つあります。
- Dynatrace APM: オンプレミスの Dynatrace アプリケーションにメトリックを送信するために、Dynatrace APM エージェントを BlazeMeter テストと統合します。
- AppDynamics APM: AppDynamics APM プロファイルを BlazeMeter のテストと統合します。
JMeter スクリプトをアップロードするのと同じ場所に CSV をアップロードできます(これらのファイルは同じフォルダを共有するので、CSV データ セット設定コントローラからパスを削除してください)。この操作を行ったときに複数のエンジンがある場合、2 つのエンジンが同一のユーザに対して同じログインを実行する必要はおそらくありません。そのため、ここで[Split CSV]オプションをオンにすることができ、ユーザはランダムにエンジンに送信されます(つまり、1 行目はエンジン 1 に、2 行目はエンジン 2 に、3 行目はエンジン 1 に送信されるなど)。
テストで CSV ファイルを使用する方法の詳細については、この記事を参照してください。
もう一度、テストに名前が付いており、保存済みで、実行準備ができていることを確認してください。問題なければ、これで Jmeter テストが正常にセットアップされました。次のステップに進む準備ができたら、BlazeMeter テストの実行方法に関する記事に進んでください。
サンドボックス テスト
サンドボックスのテストは、最大 20 ユーザで、0 個のエンジンを使用して最大 20 分間実行されます。
サンドボックスの設定ではスクリプトとバックエンドをテストすることができ、すべてが論理的に正常に動作することを確認します。
発生する可能性のあるいくつかの一般的な問題を以下に示します。
- ファイアウォール - 使用環境が BlazeMeter の CIDR リストに対してオープンであることを確認し、リストの項目をホワイトリストに登録します。
- すべてのテスト ファイル(CSV、JAR、JSON、User.properties など)が存在することを確認します。
- パスを使用していないことを確認します。
上記の項目を確認しても問題が解決しない場合は、ログでエラーを確認してください(ログ全体をダウンロードできます)。
サンドボックスの設定は以下のとおりです。
- Engines: コンソールのみ(1 コンソール、0 エンジン)
- Threads: 1 ~ 20
- Ramp-up: 0 ~ 1200 秒
- Iteration: テストは無期限に続行されます
- Duration: 1 ~ 20 分
これにより、増加期間中に十分なデータを取得して、結果を分析し、スクリプトが予想どおりに実行されたことを確認することができます。
BlazeMeter から JMeter テストを実行する方法の詳細については、録画したオンデマンド Web キャスト「How to Make JMeter Highly Scalable and More Collaborative With BlazeMeter (BlazeMeter で JMeter の拡張性と共同作業の効率を高める方法)」をご覧ください。
0 コメント