JMeter入門:Docker環境でJMeterの実行環境を構築する -Vol.3-

スポンサーリンク
JMeter入門:Docker環境でJMeterの実行環境を構築する -Vol.3- 環境構築
JMeter入門:Docker環境でJMeterの実行環境を構築する -Vol.3-
この記事は約5分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、Docker環境でJMeterの実行環境を構築する方法について解説しています。

スポンサーリンク

背景

JMeterを利用した負荷試験をする機会がありましたので、その時の内容を備忘として記事に残しました。

前回記事の内容

前回は、下記のファイル一覧の jmeter/entrypoint.sh を解説しました。本記事では、jmeter/test.sh について解説しています。

        new file:   jmeter/Dockerfile
        new file:   jmeter/entrypoint.sh
        new file:   jmeter/test.sh
        new file:   jmeter/tests/trivial/plan.jmx
        new file:   Makefile
        new file:   compose.yml

jmeter/test.sh

#!/bin/bash
#
# Test the JMeter Docker image using a trivial test plan.

variables-from-command-line
export TARGET_HOST="www.map5.nl"
export TARGET_PORT="80"
export TARGET_PATH="/kaarten.html"
export TARGET_KEYWORD="Kaartdiensten"

YYYYMMDD_HMS=$(date "+%Y%m%d_%H%M%S")

T_DIR=tests/trivial

# Reporting dir: start fresh
R_DIR=${T_DIR}/${YYYYMMDD_HMS}/report
rm -rf ${R_DIR} > /dev/null 2>&1
mkdir -p ${R_DIR}

cp ${T_DIR}/plan.jmx ${T_DIR}/${YYYYMMDD_HMS}/

bash ./entrypoint.sh -Dlog_level.jmeter=DEBUG \
	-JTARGET_HOST=${TARGET_HOST} -JTARGET_PORT=${TARGET_PORT} \
	-JTARGET_PATH=${TARGET_PATH} -JTARGET_KEYWORD=${TARGET_KEYWORD} \
	-n -t ${T_DIR}/plan.jmx -l "${T_DIR}/${YYYYMMDD_HMS}/plan.jtl" -j "${T_DIR}/${YYYYMMDD_HMS}/jmeter.log" \
	-e -o ${R_DIR}

echo "==== jmeter.log ===="
cat "${T_DIR}/${YYYYMMDD_HMS}/jmeter.log"

echo "==== Raw Test Report ===="
cat "${T_DIR}/${YYYYMMDD_HMS}/plan.jtl"

echo "==== HTML Test Report ===="
echo "See HTML test report in ${R_DIR}/${YYYYMMDD_HMS}/index.html"

このBashスクリプトは、JMeterのDockerイメージを使用して簡単なテストプランを実行するためのものです。以下にスクリプトの各部分の解説を示します:

  • テスト対象のホスト、ポート、パス、キーワードを環境変数としてエクスポートしています。
  • 現在の日時を年月日_時分秒の形式で変数YYYYMMDD_HMSに格納しています。
  • テストファイルが格納されているディレクトリを変数T_DIRに設定しています。
  • レポートを格納するディレクトリを作成し、既存のものがあれば削除しています。
  • テストプランファイル(plan.jmx)をYYYYMMDD_HMSディレクトリにコピーしています。
  • entrypoint.shスクリプトを実行し、JMeterのログレベルをDEBUGに設定し、ユーザー定義変数を渡しています。また、テストプランを実行し、結果をplan.jtlに、ログをjmeter.logに出力しています。 -eオプションでHTMLレポートを生成し、-oオプションでその出力先を指定しています。
  • jmeter.logファイルの内容を表示しています。
  • plan.jtlファイルの内容を表示しています。
  • HTMLテストレポートの場所を表示しています。

このスクリプトは、JMeterテストの実行とその結果のレポートを生成するための一連のコマンドを含んでおり、テストの実行状況を確認するためのログファイルやレポートファイルの内容を表示するコマンドも含まれています。スクリプトの実行により、JMeterは指定されたテストプランに従ってテストを実行し、その結果をログファイルとHTMLレポートで確認することができます。

おわりに

今日は、Docker環境でJMeterの実行環境を構築する方法について解説しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました