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を水平から垂直に、垂直から水平に変換する方法

推薦する

CocosCreatorでスワイプした位置にテクスチャを表示する方法

目次1. プロジェクト要件2. 文書の内容3. プロジェクト例4. プロジェクトコード1. プロジェ...

Typescriptを使用してWeChatミニプログラムを開発するための詳細な手順

Typescript の利点については詳しく説明する必要はありません。ご興味があれば、(https:...

Linux ソースコードからのソケット (TCP) クライアント側での接続の例の詳細な説明

序文著者は、アプリケーションからフレームワーク、オペレーティング システムに至るまで、あらゆるコード...

MySQL ロックの知識ポイントのまとめ

ロックの概念①. 現実世界では、鍵は外の世界から身を隠したいときに使う道具です。 ②. コンピュータ...

アイデアのパッケージ化とクラウドサービスへのアップロードにおけるプロジェクトプロセスの分析

1つ。まず、アイデアとしてパッケージ化する必要があります。私はSpringbootフレームワークプロ...

MySQL 変数の原理と応用例

MySQL ドキュメントでは、MySQL 変数はシステム変数とユーザー変数の 2 つのカテゴリに分類...

JavaScript インスタンス オブジェクトでプロトタイプ メソッドをオーバーライドする方法の詳細

目次JavaScriptでは、通常、次のコードのようにクラスを簡単に定義できます。 var サンプル...

JavaScriptのイベントループの仕組みの分析

目次序文: 1. イベント ループとタスク キューの理由: 2. イベントループメカニズム: 3. ...

Linux CentOS 6.5 ifconfig が IP を照会できない問題の解決方法

最近、何人かの友人から、仮想マシンに CentOS をインストールした後、ifconfig コマンド...

.Net Core を使用して数千万のデータを MySQL にインポートする手順

目次事前準備実施方法: 1. 単一のデータを挿入する2. マージデータ挿入3. MySqlBulkL...

Alibaba Cloud で静的ウェブサイトを素早く構築する方法

序文:ジュニアプログラマーとして、私は自分自身の個人ウェブサイトを構築し、それを他の人に見せることを...

MySQL 5.7.15 バージョンのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQLバージョン5.7のインストール方法と使用方法、およびデータベースデータの保存...

LinuxにMySQLをインストールするための詳細なチュートリアル

すべてのプラットフォーム用の MySQL ダウンロードは、MySQL ダウンロードから入手できます。...

Vueを使用して天気コンポーネントをロードする方法の詳細な説明

この記事では、Vueを使用して天気コンポーネントをロードする方法を参考までに紹介します。具体的な内容...

フレックスレイアウトは左のテキストオーバーフローを実現し、右のテキストの適応を省略します

テキストの長さに応じて、左側のテキストの幅を自動調整できる状況を実現したい。1行が表示できない場合、...