LoginSignup
0
0

Apache JMeterの導入と使用方法

Posted at

業務でApache JMeterを使用する機会があったので、備忘録として書きます。

目次

  1. 対象者
  2. 環境
  3. Apache JMeterとは
  4. 事前準備
  5. JMeterインストール
  6. 使用方法

対象者

  • 負荷テストにApache JMeterを使用したい方
  • 初めてApache JMeterを使用する方

環境

  • mac

Apache JMeterとは

Apache Software Foundationが開発したオープンソースの負荷テストツールです。主にWebアプリケーションの性能テストを行うために使用され、ユーザーの行動をシミュレートして大量のリクエストをサーバーに送り、そのレスポンスタイムや性能を測定できます。

事前準備

JMeterは、jarファイル起動のため、JDKを入れる必要があります。インストール済みの人は飛ばしてください。
今回はhomebrewでインストールします(homebrewインストールは省略します)。

# パッケージの情報を最新に更新
$ brew update

# Javaの現在のインストール状況確認
$ brew info java
openjdk: stable 20.0.1 [keg-only]
Development kit for the Java programming language
https://openjdk.java.net/
Not installed

# Javaインストール
$ brew install java
# macOSのシステムがJDKを認識できるようにシンボリックリンクをはります
$ sudo ln -sfn $(brew --prefix)/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

$ java --version
openjdk 20.0.1 2023-04-18
OpenJDK Runtime Environment Homebrew (build 20.0.1)
OpenJDK 64-Bit Server VM Homebrew (build 20.0.1, mixed mode, sharing)

JMeterインストール

今回は公式HPからzip形式のファイルを落として解凍する方法を記載します。他にもhomebrewからインストールできます。

apach-jmeter-✳︎.✳︎.zipを選択し、インストールしダブルクリック(解凍)
スクリーンショット 2023-07-09 20.07.33.png
任意のフォルダに移動
スクリーンショット 2023-07-11 23.01.30.png
bin¥ApachJMeter.jarをダブルクリックしてJMeterが起動します。
スクリーンショット 2023-07-11 23.06.42.png

使用方法

負荷テストで単純なHTTPリクエストをテストすることもありますが、今回はパス、パラメータの動的、CSVファイルを出力させる機能のテストのため、その方法を記載しています。

静的なHTTPリクエスト、パス、パラメータをテストしたい場合は下記の記事を参考にしてください。
https://tech-blog.rakus.co.jp/entry/2017/08/24/111332

パラメータを動的にしたい場合

(例:{"user_id:*******"})
以下が作業の流れになっています。テキストファイルでもできますが、今回CSVファイルで設定しています。
今回は動的にuser_idを1、2、3、4、5に変更する方法を記載します。
スレッドグループの作成方法は上記記事を参考にしてください。
1 . CSVファイルの作成
スクリーンショット 2023-07-15 19.10.46.png
2 . CSVデータセット構成要素の設定

スレッドグループの上で右クリック→以下のキャプチャより『CSVDatasetConfig』を押下
スクリーンショット 2023-07-15 19.15.51.png
設定内容
Filename:『1.CSVファイルの作成』で作成CSVファイルのパスを指定
File encoding:UTF-8
Ignore first line:今回CSVファイルの1行目にヘッダーを入れたため、True

スクリーンショット 2023-07-15 19.16.11.png
3 . HTTPリクエストの設定
スレッドグループの上で右クリック→以下のキャプチャより『HTTPリクエスト』を押下
テストに合わせて設定を追加してください。
スクリーンショット 2023-07-15 19.17.07.png
HTTPリクエストのBodyDataにパラメータを設定。CSVファイルのデータを入れたい部分に${user_id}と記載。スクリーンショット 2023-07-15 19.31.16.png

パスを動的にしたい場合

(例:https://123456/user/(userid)/delete
パラメータを動的にしたい場合と同様、CSVファイル、CSVデータセット構成要素の設定をします。
違う点はHTTPリクエストの設定です。
CSVファイルではパスを設定します。
スクリーンショット 2023-07-15 19.39.07.png
スクリーンショット 2023-07-15 19.36.13.png

CSVファイルを出力させるAPIの場合

1 . HTTPリクエストの設定:

  • スレッドグループ内にHTTPリクエストを追加します。このリクエストはCSVファイルを出力するAPIエンドポイントを指定します。
  • 必要なヘッダー、パラメータ、ボディデータなどをリクエストに追加します。

3 . CSVデータセット構成要素の設定:

  • CSVデータセット構成要素を追加します。
  • 「Filename」フィールドにはCSVファイルのパスを指定します(例: /path/to/output.csv)。
  • 「Variable Names」フィールドには、CSVファイルに出力するデータを指定します(例: response_data)。
    スクリーンショット 2023-07-15 19.44.51.png

4 . View Results Treeリスナーの設定:

  • テスト計画にView Results Treeリスナーを追加します。
  • View Results Treeリスナーは、リクエストとレスポンスの詳細な情報を表示し、CSVファイルに出力するために使用します。
  • 「Filename」フィールドには出力するCSVファイルのパスを指定します(例: /path/to/output.csv)。スクリーンショット 2023-07-15 19.47.42.png

以上が、JMeterの基本的な導入と使用方法になります。これを基に、自分の実施したいテストの設定を追加してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0