Docker 環境での Jmeter の分散操作に関する詳細なチュートリアル

Docker 環境での Jmeter の分散操作に関する詳細なチュートリアル

1. jmeterの基本イメージを構築する

Dockerfile は次のとおりです。

# Java 8スリムJREを使用する
openjdk:8-jre-slim から
メンテナー QJP

# JMeter バージョン
引数 JMETER_VERSION=5.1.1

# いくつかのユーティリティをインストールする
apt-get clean && \ を実行します。
  apt-get update && \
  apt-get -qy インストール \
        wget \
        テルネット\
        iputils-ping \
        解凍
# JMeterをインストールする
mkdir /jmeter \ を実行します。
   && cd /jmeter/ \
   && wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-$JMETER_VERSION.tgz \
   && tar -xzf apache-jmeter-$JMETER_VERSION.tgz \
   && rm apache-jmeter-$JMETER_VERSION.tgz
   
ワークディレクトリ /jmeter/apache-jmeter-$JMETER_VERSION/bin
#現在のフォルダからjmeter.propertiesファイルをコピーし、server.rmi.ssl.disable=trueを有効にしてください
jmeter.properties をコピーします。
# すべてのプラグインを追加する
jmeter-plugins/lib /jmeter/apache-jmeter-$JMETER_VERSION/lib を追加します。

# サンプルテストを追加する
ADD サンプルテスト サンプルテスト

# JMeter ホームを設定する
環境変数 JMETER_HOME /jmeter/apache-jmeter-$JMETER_VERSION/

# JMeterをパスに追加する
環境変数 PATH $JMETER_HOME/bin:$PATH

イメージを構築する

docker build -t jmbase を実行します。

パッケージのアップロード

docker タグ jmbase dockername/jmbase
docker push dockername/jmbase

2. jmeterのマスターマシンイメージを構築する

dockerfileファイルは以下のとおりです

# qjpdsg/jmbase から jmbase ベースイメージを使用する
メンテナー TestAutomationGuru

# JMeter スレーブ/サーバーのコンテナから公開されるポート
# JMeter スレーブ/サーバー コンテナから公開されるポート EXPOSE 1099 50000

# コンテナの起動時に実行するアプリケーション
# アプリケーションを実行するためにコンテナを起動します ENTRYPOINT $JMETER_HOME/bin/jmeter-server \
            -Dserver.rmi.localport=50000 \
            -Dserver_port=1099

イメージを構築する

docker build -t jmmaster を実行します。

パッケージのアップロード

docker タグ jmmaster dockername/jmmaster
docker push dockername/jmmaster

3. jmeterクライアントイメージをビルドする

ドックとファイルのファイルは次のとおりです

# jmbase ベースイメージを使用する
qjpdsg/jmbase から

メンテナー QJP

# JMeter マスターのコンテナから公開されるポート
エクスポーズ60000

イメージを構築する

docker build -t jmslave を実行します。

パッケージのアップロード

docker タグ jmmaster dockername/jmslave
docker push dockername/jmslave

4. jmeter クライアントを実行し、IP アドレスを取得します。

クライアント コンテナを起動します。

docker run -dit --name slave01 jmserver /bin/bash
docker run -dit --name slave02 jmserver /bin/bash
docker run -dit --name slave03 jmserver /bin/bash

クライアントのIPを取得する

docker 検査 --format '{{ .Name }} => {{ .NetworkSettings.IPAddress }}' $( docker ps -a -q )

jmeterマスターマシンのjmeter.propertiesにIPアドレスを設定します。クライアントのserver_portはマスターのserver_portと一致している必要があることに注意してください。

のように:

アドレスを設定します:

リモートホスト=172.17.0.2:1099,172.17.0.3:1099

jmmaster コンテナにコピーします:

docker cp ./jmeter.properties jmmaster:/jmeter/apache-jmeter-5.1.1/bin/

5. 分散テストを開始します。

クライアント コンテナに入り、jmeterserver サービスを実行します。

docker exec -it スレーブ10 /bin/bash
jmeter サーバー

マスター コンテナに入り、分散テストを実行します。

jmeter -n -t mywh.jmx -R172.17.0.2,172.17.0.3

これで、docker 環境での jmeter の分散実行に関するこの記事は終了です。docker での jmeter の分散実行に関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker で Elasticsearch 可視化 Kibana を使用する方法の詳細説明
  • Dockerコンテナ可視化監視センターの構築の詳細説明
  • Docker を使用した JMeter+Grafana+Influxdb 監視プラットフォームの構築に関する詳細なチュートリアル
  • Grafana を使用して Docker コンテナの監視チャートを表示し、電子メールアラートルールを設定する (図)
  • Ubuntu で Grafana を使用して Docker を監視する方法
  • Docker に influxdb をインストールするための詳細なチュートリアル (パフォーマンス テスト)
  • docker を使用して influxdb と mongo をデプロイするための一般的なコマンド
  • Docker 環境で JMeter+Grafana+influxdb ビジュアル パフォーマンス監視プラットフォームを構築するチュートリアル

<<:  Reactでレシピシステムを実装する方法を解説した記事

>>:  MySQLを水平から垂直に、垂直から水平に変換する方法

推薦する

MySQL 5.7.24 のインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.24のインストールと設定のチュートリアルを参考までに紹介します。具...

Vueはプルダウンとスクロールでデータを読み込む例を実装しています

目次ステップ1: インストールステップ2: 引用ステップ3: 使用Webプロジェクトでは、データを読...

jQuery はピッカーをシミュレートしてスライド選択効果を実現します

この記事では、スライド選択効果を実現するピッカーをシミュレートするjQueryの具体的なコードを参考...

画像の一時停止を実現するjQueryプラグイン

この記事では、画像の一時停止を実現するためのjQueryプラグインの具体的なコードを参考までに共有し...

優れた登録プロセスの手順

ウェブサイトにとって、これは最も基本的な機能です。それでは、登録プロセスに含まれる手順を見てみましょ...

MySQL マスタースレーブレプリケーションの原理からインストールと設定までを包括的に解説します。

マスタースレーブレプリケーションがなぜ必要なのでしょうか? 1. 複雑な業務システムでは、SQL 文...

フェッチネットワークリクエストのカプセル化例の詳細な説明

エクスポートデフォルト({ URL、 メソッド = 'GET'、 データ = nu...

MYSQL メタデータ ロック (MDL ロック) MDL ロックの問題分析

1. はじめにMYSQL の MDL ロックは常に頭痛の種でした。ロックについて話すとき、通常は I...

Linux ファイルシステムの説明: ext4 以降

今日は、ext3 や他の以前のファイル システムとの違いを含め、ext4 の歴史について説明します。...

Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント

Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒントbashに詳しい人なら、hi...

MySQLはイベントを使用してスケジュールされたタスクを完了します

イベントでは、SQL コードを 1 回または一定の間隔で実行することを指定できます。通常、複雑な S...

Mysql で group_concat の長さ制限を変更する方法

MySQL には、「group_concat」という関数があります。通常の使用では問題がないかもしれ...

Angularコンポーネントの仲介モードの詳細な説明

目次1. 仲介業者モデル2. 例1. 見積コンポーネントに購入ボタンを追加する2. 親コンポーネント...

Ubuntu 16.04/18.04 に Pycharm と Ipython をインストールするチュートリアル

Ubuntu 18.04の場合1. sudo apt install python 。コマンドライン...

Vueのwatch、computed、methodsの違いのまとめ

目次1 はじめに2 基本的な使い方2.1 方法2.2 計算プロパティ2.3 リスナーを見る3 3つの...