Skip to content

MS_JMeterInstallation

nishi_74322014 edited this page Aug 21, 2026 · 1 revision

Jmeterのインストール

概要

JMeter のインストールについて。

ダウンロード&インストール

Windows

Java

  • JMeter がサポートしている JRE をインストールする。

  • 2018 年 9 月より Oracle Java は有償となったため、
    同等の機能を持つ Adopt Open JDK をインストール

    • Java8 の LTS 版で、hotspot を選択する。
      (Java有償化について調べてみた。(DNET_JavaLicensing.md))

移行メモ(誤字): 元ページの「Oracke Java」は「Oracle Java」の誤記。

補足(最新化:JDK の入手先): AdoptOpenJDK は
Eclipse Temurin(Adoptium)に改称
されている。
現在の主な OpenJDK ディストリビューションは以下。

ディストリビューション 提供元
Eclipse Temurin Eclipse Adoptium(旧 AdoptOpenJDK)
Microsoft Build of OpenJDK Microsoft
Amazon Corretto AWS
Azul Zulu Azul Systems

また、JMeter の要件も上がっており、
JMeter 5.6 は Java 8 以上、JMeter 6.0 は Java 17 以上を要求する。
「Java 8 の LTS を選ぶ」という記述は当時のものなので、
導入する JMeter のバージョンに合わせて選ぶこと。

Jmeter

JMeter パッケージのダウンロード&適当なディレクトリに解凍

※ ZIP64 をサポートしない Lhaplus などのツールで解凍した場合、
 「正常に解凍できません。CRC が一致しないか、出力先ファイルが使用中です。」
 というエラーが起きる。

補足: 現在の Windows なら、エクスプローラの標準機能や
7-Zip / PowerShell の Expand-Archive で問題なく解凍できる。
上記は ZIP64(4GB 超・ファイル数 65535 超に対応した拡張)に
未対応の古いツール固有の問題である。

Linux

Java

Java のランタイム (JRE) のインストール

※ JMeter がサポートしている JRE をインストールする。

Jmeter

JMeter パッケージのダウンロード&適当なディレクトリに解凍

パス設定

Windows

システム環境変数

  • JAVA_HOME:[Java のランタイム (JRE) のインストール・フォルダ]

  • PATH:[Java のランタイム (JRE) のインストール・フォルダ]\bin

  • 参考

※ 最近の JRE の PATH 設定は不要であるもよう。
 下記シンボリック・リンクと言うものが設定されるらしい。

C:\ProgramData\Oracle\Java\javapath

補足: javapathOracle JRE のインストーラが作るものなので、
Temurin などの OpenJDK ディストリビューションを使う場合は存在しない。
その場合は JAVA_HOMEPATH を明示的に設定する
(インストーラのオプションで自動設定できることが多い)。

Linux

・・・

起動パラメタの設定

Windows

jmeter.bat

  • ヒープサイズ
    既定値は、512MB なので必要に応じて拡大(固定サイズ:Xms = Xmx)。
rem set HEAP=-Xms512m -Xmx512m
set HEAP=-Xms1024m -Xmx1024m
  • Full GC の監視
    Full GC が頻発すると、計画通りの負荷がかけられないので、
    以下のコメントアウトを外し、-Xloggc を変更して、Full GC を監視する。
rem set VERBOSE_GC=-verbose:gc -Xloggc:gc_jmeter_%p.log -XX:+PrintGCDetails ...
set VERBOSE_GC=-verbose:gc -Xloggc:gc_jmeter_%%t.log -XX:+PrintGCDetails ...

補足(なぜ Xms = Xmx にするのか): ヒープの拡張はそれ自体が
Full GC を誘発するため、最小値と最大値を揃えて
実行中にヒープ サイズが変動しないようにする。
「計画通りの負荷がかけられない」という指摘のとおり、
負荷をかける側が GC で止まると、測定結果が信用できなくなる

最新化: -Xloggc-XX:+PrintGC* 系のオプションは
Java 9 で非推奨、Java 11 以降は削除されている。
現在は統合ログ(Unified Logging)を使う。

-Xlog:gc*:file=gc_jmeter.log:time,uptime:filecount=5,filesize=10M

新しい JMeter の jmeter.bat / jmeter スクリプトは
この形式に更新されている。

jmeter.properties

  • ログファイル名を変更
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
  • ソケット枯渇を防ぐため、TCP/IP の TTL を 0 に。
httpclient4.time_to_live=0
  • 日本語対応が必要な場合、エンコーディングを UTF-8 に変更。
sampleresult.default.encoding=UTF-8

移行メモ(正誤): httpclient4.time_to_live
**TCP/IP の TTL(Time To Live、ルータのホップ数)ではなく、
HttpClient のコネクション プール内で接続を保持する時間(ミリ秒)**である。
0 にすると接続を使い回さず毎回閉じるため、
結果として TIME_WAIT が増える方向に働く点に注意が要る。

「ソケット枯渇を防ぐ」ことが目的であれば、
負荷クライアント側の以下の設定のほうが直接的である。

設定 内容
MaxUserPort 一時ポートの上限を広げる(Windows のレジストリ)
TcpTimedWaitDelay TIME_WAIT の保持時間を短縮する
負荷クライアントの分散 1 台で足りなければ分散実行(後述)

詳細はWindowsネットワーク編も参照。

補足(設定ファイルは直接編集しない): jmeter.properties
直接書き換えると、JMeter のバージョンアップ時に差分の管理が面倒になる。
変更したい項目は user.properties に書くのが正しい運用で、
こちらが jmeter.properties を上書きする。

Linux

・・・

補足(負荷試験は CLI モードで実行する): GUI モードは
テスト計画の作成とデバッグ専用であり、
本番の測定に使うと GUI 自体が負荷になって結果が歪む
(JMeter 起動時にも警告が表示される)。

jmeter -n -t testplan.jmx -l result.jtl -e -o report

1 台で負荷が足りない場合は、-R でリモート エンジンを指定して
分散実行する。

参考

Java (JDK, JRE)

  • JDK (Java Development Kit)

    • Java 開発キット(環境)。
    • Java のプログラム開発に必要。
    • なお、JDK には JRE が含まれている。
  • JRE (Java Runtime Environment)

    • Java 実行環境。
    • Java のプログラムの実行に必要。
  • JDK のインストールと環境設定 | Java 入門
    https://www.javadrive.jp/start/install/

  • Java の JDK,JRE,SE,EE などの意味と違い - TASK NOTES
    http://www.task-notes.com/entry/20140810/1407599796

補足: Java 11 以降、Oracle は JRE 単体の配布を行っていない
現在は JDK を導入するのが標準で、
実行環境だけが必要な場合は jlink でカスタム ランタイムを作る。

Apache JMeter - User's Manual


Tags: 移行, テスト, ツール類

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally