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

推薦する

react-beautiful-dnd を使用してリスト間のドラッグ アンド ドロップを実装する

目次react-beautiful-dndを選ぶ理由基本的な使い方基本概念使い方使用中に発生した問題...

Nginx リバース プロキシはポート 80 のリクエストを 8080 に転送します

まず、一連の概念を理解しましょう。nginx リバース プロキシとは何でしょうか?リバース プロキシ...

HTML チュートリアル: よく使われる HTML タグのコレクション (6)

関連記事:初心者が学ぶ HTML タグ (5)導入された HTML タグは、必ずしも XHTML 仕...

IE ブラウザの HTML ハック タグの概要

コードをコピーコードは次のとおりです。 <!--[if !IE]><!-->...

Ubuntu 基本チュートリアル: apt-get コマンド

序文apt-get コマンドは、Ubuntu システムのパッケージ管理ツールです。パッケージのインス...

Nginx http ヘルスチェック構成プロセス分析

パッシブチェックパッシブ ヘルス チェックでは、NGINX と NGINX Plus はイベントの発...

vue2 vue3 での Echarts の詳細な使用方法

目次1. インストール2. vue2でEchartsを使用するmain.jsファイル内コンテナが与え...

W3C標準に準拠したHTML標準で注意すべき点を詳細に解説

XML/HTML コードコンテンツをクリップボードにコピー<!DOCTYPE html PUB...

Vue はシームレスなカルーセル効果 (マーキー) を実現します

この記事では、シームレスなカルーセル効果を実現するためのVueの具体的なコードを例として紹介します。...

HTML マークアップ言語 - リファレンス

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

CSS シャドウ効果の比較: ドロップシャドウとボックスシャドウ

Drop-shadow と box-shadow はどちらも影効果(ハロー効果)のための CSS プ...

JavaScriptの強力な演算子をいくつか見てみましょう

目次序文1. ヌル合体演算子2. ??= 空代入演算子3. ?. オプション連鎖演算子4. ?: 三...

MySQL 5.7 zip版(zip版)のインストールと設定手順の詳細

はじめに: Windows 10 を再インストールし、同時にファイルを整理しました。しかし、MySQ...

Sqoop エクスポート マップ 100% 削減 0% さまざまな理由と解決策でスタック

私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...

Linux で MySQL 8.0 バージョンをアンインストールする方法

1. MySQLをシャットダウンする [root@localhost /]# サービスmysqldを...