ページを選択

JMeterとは何ですか?

JMeterは、現在でも市場で最も人気のあるオープンソースの機能および負荷テストアプリケーションの1つです。 HTTP/S、SOAP、REST、FTP、LDAP、SMTP、POP3、および IMAP などのプロトコルに対する幅広いサポートを備え、パフォーマンス テスト エンジニアやチーム向けに、コスト効率が高く、構成が厳しいロード テスト ソリューションです。

さらに、完全なJavaベースのソフトウェアとして、JMeterはプラットフォームに依存しない、さまざまなプラットフォーム上で実行することができます。 さらに、JMeterは積極的に維持され、サポートされています。 JMeterユーザーがテストをカスタマイズするのに役立つ多数のプラグインと、テストのアドバイスや支援のために寄りかかる大規模なユーザーサポートコミュニティがあります。

JMeter負荷試験:デメリット

上記の大きなメリットについては、JMeterにはまだいくつかの重要な主な欠点があります。

プロトコル ベースのロード テスト

1 つ目は、プロトコル レベルのテストしか実行できないということです。 Angular、Ember、ノックアウトなどの JavaScript ベースのアプリケーションや AJAX ベースのアプリケーションをテストする開発者は、別のソリューションを見つける必要があります。 多くの現代のブラウザは、ウェブサイトやアプリケーションのパフォーマンスを理解する際に重要な要素であるJavaScriptとAJAXに大きく依存しています。 JMeterはブラウザのようにHTMLをレンダリングできないため、負荷の下での完全なユーザーエクスペリエンスを完全に理解する上で大きなギャップが残ります。

システムの制限/ハードウェア機能

第二に、JMeterはローカルマシンにインストールする必要があるため、ユーザーはまず必要なハードウェア要件と適切なセットアップを確実にする必要があります。 このため、大規模なテストを実行すると、システム リソースが不足したり、エラーが発生したりする原因になります。 また、テストはローカル マシンやネットワークから実行されるため、パフォーマンス エンジニアは、さまざまな地理的な場所やユーザーの拠点から負荷が高い環境下でパフォーマンスを測定できないため、実際の状況でサイトやアプリケーションがどのように立ち上がるかを理解するうえで重要な要素です。

複雑なインターフェイス

最後に、JMeterは複雑な負荷テストソリューションです。 今日の市場での他の負荷テストソリューションほどユーザーフレンドリーではありません。 新しいユーザーにとっては、ソフトウェアのすべての機能を理解したり理解したりする作業は困難です。 テストの構築と実行に飛び込む前に、より高いレベルの知識と理解を必要とするコンポーネント、関数、およびプロパティが数多くあります。 これはすべて時間の経過とともに学習できますが、テストに専念し、ロード テストをすばやく簡単に設定して構成できるエンジニアや開発者にとっては障壁となります。

JMeterでロードテストを実行する方法

JMeterテスト計画の作成方法

負荷テストには、少しの調査と計画が必要です。 計画やスクリプトを薄く作成し始め、テストをその場でビルドできると期待することはできません。 ロード テストの設定を開始する前に、テスト要件、スコープ、条件などを構築するのが理想的です。 そのため、トラフィック データの分析ツール、セッションの期間、ピーク時の訪問者数などのさまざまなソースから情報を収集したり、以前のキャンペーン データを確認して、サイトやアプリケーションに対してテストする負荷や同時ユーザーの量を把握する必要がある場合があります。

重要なのは、環境に合った計画を作成し、現実のシナリオを可能な限り厳密にシミュレートすることです。 計画を立てれば、さまざまな要素からなるJMeterでテスト計画の設定を開始できます。 基本的なJMeterロードテストは、テスト計画、スレッドグループ、サンプラーで構成されています。

JMeterテスト計画の作成

以下は、JMeterテスト計画を設定するための基本的な手順と要件です。

1. スレッドグループの追加

スレッド グループは、ロード テストに必要な同時ユーザーを表します。 スレッド グループにアクセスするには、[ テスト計画 > のスレッドの追加 > (Users) > スレッド グループ] を右クリックします。

[スレッド グループのプロパティ] ダイアログ ボックスから、次のプロパティを設定することもできます。

    • スレッド数 (ユーザー)
    • ランプアップ期間 (秒)
    • ループ数 (テストイテレーションの数)
    • 遅延、テストの開始時刻と終了時間、およびサンプラー エラーの後に実行するアクションなどの追加のアクション。

または、スレッドグループから始める代わりに、 ファイル > テンプレートの > 選択テンプレート にアクセスするか、ツールバーからテンプレートアイコンを選択して、さまざまなテストテンプレートから選択することもできます。

ウェブサービス テスト、ウェブテスト計画、機能テスト、その他多くのテンプレートなど、さまざまなテンプレートの選択内容を確認できます。 これらのテンプレートには、テスト計画の作成に使用される必要なすべての要素、セクション、およびフィールドが自動的に含まれます。

2. サンプラーの設定

サンプラーは、他のタイプのリクエストに加えて、Http(ウェブサイト、アプリケーション、API)、FTP、SMTP、TCPなどのさまざまなタイプのリクエストをJMeterが送信することを可能にするものです。 スレッド グループ > 追加サン > プラーを右クリックし、テスト要件に適したサンプラーを選択することで、サンプラーにアクセスできます。

[サンプラーの構成] フィールドに、次のような追加の詳細を入力して表示されます。

    • プロトコル (HTTP/S)
    • サーバー名または IP
    • パス (特定の ウェブ​ページ用)
    • API ロード テストの要求の種類 (GET、POST、ヘッド、PUT など)。
3. リスナーの設定方法

リスナーを使用すると、サンプラーの結果を確認できます。 リスナーにアクセスするには、スレッド グループ > 追加 > サンプラー > リスナーに移動します。

15 を超えるリスナーの中から選択できます。 リスナーには、すべて同じデータが含まれていますが、違いは、そのデータが視覚的に表示される方法です。 さらに、JMeter テスト計画に複数のリスナーを追加できます。 表示されるリスナーの種類には、次のものがあります。

    • 概要レポート
    • 集計グラフ
    • 結果ツリーの表示
    • 結果を表に表示
    • 単純なデータ ライター
    • BeanShell リスナー
    • そして、より多くの..
4. ロード テスト スクリプトの記録方法 (オプション)

基本的な HTTP またはプロトコル レベルのロード テストを実行する場合は、次の手順に進み、JMeter ロード テストを実行します。 ただし、特定のユーザーアクションとパスをシミュレートする必要があるテストを構成する必要がある場合は、HTTP(S) テスト スクリプト レコーダを使用する必要があります。 ただ、実際のブラウザからスクリプトを記録しているのではなく、HTTPトラフィックをキャプチャしているだけであることを覚えておいてください。 以下に従う必要がある手順を示します。

    1. 録音コントローラを追加する(スレッドグループ内)
    2. サイトまたはアプリケーション間を移動する
    3. HTTP/S リクエストを使用してアクションを記録する

または、JMeterプロキシサーバーを利用することもできます。 このオプションを使用すると、ブラウザからスクリプトを記録できますが、セットアップには時間がかかる場合があります。 JMeterプロキシサーバーを使用するには、次の手順に従います。

    1. システムのプロキシ設定に移動します。
    2. JMeter証明書をインポートします。
    3. プロキシ設定を構成します。
5. JMeterテストを実行する

リスナーを設定したら、JMeterテストプランが完成し、JMeterロードテストを実行できます。 JMeterテストを実行するにはいくつかの方法がありますが、テスト計画を最初に保存してください。

    • オプション 1: テストを実行する緑色の三角形/矢印を選択します。
    • オプション 2: ツールバーの「実行」ボタンを選択します。
6. JMeterのテスト結果を確認し、分析します。

JMeterテストの結果は、テストの実行中に表示できます。 たとえば、[ 結果をテーブルに表示] を選択した場合、実行するたびに、またはユーザーが実行されると、結果が表示されます。 結果には、次の追加のメトリックも含まれます。

    • 時間 (ミリ秒)
    • ステータス (有効な応答とエラーを表示)
    • 送信されたバイト数とバイト数
    • 潜在
    • 接続時間

これらの結果から、エラーが発生した箇所や、ロード時間が遅い可能性がある箇所を確認できます。 さらに、JMeterテストの結果と比較して、そのデータを使用してパフォーマンスの向上と最適化を行うことができます。 また、負荷の量を増やして追加のロード テストを実行することもできます。

しかし、先ほど説明したデメリットの一部で説明したように、ロードテストの規模に関しては、JMeterには限界があり、大規模なテストを実施することはできません。 そのために、LoadViewのような最新の負荷テストソリューションは、JMeterを使用するよりも効果的です。

ロードビュープラットフォーム

LoadViewプラットフォームは、JMeterのようなオープンソースの負荷テストソリューションの制約を取り除きます。 LoadView は、パフォーマンス エンジニアが ウェブサイト、ウェブサービス/API、ウェブアプリケーションなどを簡単にテストできるクラウドベースのロード テスト ソリューションです。 コストのかかるハードウェアアップグレードに投資したり、負荷発生器の管理を心配したりする必要はありません。 LoadViewプラットフォームは、時間と負担のかかるタスクを排除し、パフォーマンスエンジニアやチームがサイト、アプリケーション、APIのテストと改善に専念できるようにします。

ロードビューによるJMeterロードテスト

ロードビューでJMeterロードテストの制限を克服

さらに、LoadView は世界中から 40 以上の地理的位置を提供するので、すべてのサイト、アプリケーション、または API がそれらの場所からどのように実行されるのかを実世界で理解し、より現実的なテスト結果と、これらの要素がユーザーの前でどのように実行されるかのデータを得ることができます。 さらに、クラウドジェネレータの世界的なネットワークを利用することで、JMeterのようなオープンソースの負荷テストソリューションが提供できない数千人または数百万人の同時ユーザーにテストを拡張できます。

ロードビュー:JMeterロードテストを拡張する

JMeterを使用していて、大規模なテストを実行するためのより良い方法を探しているなら、LoadViewプラットフォームは 、JMeterテスト計画をLoadViewに 転送し、わずか数分でJMeterロードテストを実行するための自動かつシームレスな方法を提供します。 直感的なインターフェイスと複数の負荷曲線、グローバルなテスト場所、および包括的なパフォーマンス レポートなどの機能を備えた LoadView プラットフォームは、JMeter に代わる素晴らしい代替手段です。 JMeter スクリプトを使用して LoadView でロード テストを設定する方法を見てみましょう。

ロードビューを使用した JMeter ロードテストのセットアップ手順

LoadView アカウントを持っていない場合は 、1 つのアカウントを設定する高速かつ簡単です。. さらに、ロード テスト クレジットで 20 ドルを提供して開始します。!

1. JMeter スクリプトを保存する

JMeterアプリケーション内で、JMeterテストプランをローカルコンピュータのJMXファイルに保存します。

2. ロードビューにログイン

に、LoadViewアカウントにログイン し、JMeterテストタイプオプションを選択します。

3. JMeter スクリプトをインポートする

[タスクのコンフィグレーション] ページで、[インポート] を選択して JMX ファイルをインポートします。 ファイルの XML コンテンツは、JMeter プロジェクト フィールドに表示されます。 リクエストパラメータは、インポート時にLoadView JMeterプロジェクトに自動的に変換され、次のパラメータが含まれます。

    • ターゲット URL または IP
    • エンドポイントへのパス
    • 要求タイプ
    • 要求ヘッダー
    • テキスト アサーション

注: LoadView はスレッドグループ設定を LoadView JMeter プロジェクトにインポートしません。 LoadView でロード テストの実行シナリオを設定することで、スレッド プロパティ (スレッド数、ランプアップ期間など) を構成できます。 必要に応じて、ここからフィールドの XML コードを編集することもできます。

別のオプションとして、[設定] フィールドで、テスト セッションの実行タイムアウトを設定できます。 LoadView ソリューションは、指定された時間、ターゲット リソースからの応答を待機し、実行時間が制限を超えた場合、システムはセッションを終了し、エラーを返します。 このフィールドを空白のままにすると、デフォルトのタイムアウト制限 (120 秒) が使用されます。

4. デバイスの作成

[デバイスの作成] をクリックし、ロード テストの実行シナリオを続行します。

5. テスト実行計画の設定

JMeterテストプランをインポートしたら、次のステップはテスト実行シナリオを設定することです。 JMeter スレッドグループにスレッドプロパティを設定し、LoadViewで同じロードパターンを使用する場合は、指定された推奨事項を使用して、対応するロードタイプパラメータを指定します。

または、特定のテスト要件に応じて、[荷重タイプ]セクション内の他の 荷重曲線オプション から選択することもできます。 スレッドの設定と ランプアップ/ランプダウン期間の詳細については、こちらをご覧ください。

6. ロード テストを実行し、結果を分析する

ロード テスト計画を完全に構成したら、JMeter ロード テストを実行できます。 テストは、初期化、ロード インジェクタの開始、テストの実行など、いくつかの手順を実行します。 テストが完了すると、通知が表示され、[ ロード テストの結果 ] ページからロード テストの結果にアクセスできます。

ロードビュープラットフォームへのJMeter負荷テストの変換に関するサポートが必要な場合は、 テクニカルサポートチームにご連絡ください。

または、LoadView プラットフォーム内から直接チケットを送信できます。 サポートチケットを送信するには、アカウントにログインしてください。 右上から、 サポート > チケット にカーソルを合わせてリクエストを送信します。 当社のチームは、すべての負荷とパフォーマンステストのニーズを支援するために24時間365日利用可能です。