1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TTDCAdvent Calendar 2024

Day 18

Apache JMeterで負荷調査してみた

Last updated at Posted at 2024-12-17

本記事は「 TTDC Advent Calendar 2024」18日目の記事です。

はじめに

サイト利用者が増えたり、一度に多くのアクセスが集中すると、サイトが正常に動かなくなるリスクがあることから負荷調査を実施することにしました。

本記事では、この負荷調査で使用したツールや使い方、評価結果ついて紹介します。

負荷検査ツール Apache JMeterについて

JMeterとは、Webサービスを中心にさまざまなアプリケーションの負荷テストおよびパフォーマンスの計測が行えるツールです。Apacheソフトウェア財団によって開発されているJavaアプリケーションで、正式名称は「Apache JMeter」です。オープンソースであることや利用制限がないこと、多機能であることから、システムの性能測定に広く利用されています。

ソフトウェアのダウンロードはこちら

負荷検査ツール Apache JMeterの特徴

オープンソースライセンス
多くのアプリケーションテストが可能

  • Web:HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET など)
  • Webサービス:SOAP/REST
  • FTP
  • JDBC経由のデータベース
  • LDAP
  • メール:SMTP、POP3、IMAP
  • TCP
  • ネイティブコマンドまたはシェルスクリプト
  • Javaオブジェクト

利用方法

一般的に使われるOSSということもあり、ネットで検索するとたくさん出てきます

インストール方法(参考)
https://baremetal.jp/blog/2022/12/27/1241/

利用方法(参考)
https://tech-blog.rakus.co.jp/entry/2017/08/24/111332

<日本語化>
ダウンロードした「jmeter.bat」を直接編集

image-1.png

language"us"⇒"ja"とresion"EN"⇒"JP"へ変更
image-2.png

「jmeter.bat」を実行すると立ち上がります
image-3.png

負荷検査のシナリオ、評価基準を決める

検査の概要やシナリオ及び評価基準を決定する。
今回は以下のような基準で評価を実施しました。

<評価基準>

項目 基準値
応答時間 95%のリクエストが 2秒以下
エラーレート 5%以下
サーバーリソース CPU使用率が 80%以下、メモリ使用率が 90%以下、ディスク使用率が 70%以下

Apache JMeterで検査パターンを作成する

スレッドグループの設定

初めにスレッドグループを作成しシナリオの繰り返し回数を指定します。

image-5.png

  • スレッドグループでの指定内容
  • スレッド数:同時実行数
  • Ramp-Up期間(秒):1つのシナリオの実行時間
  • ループ回数:1つのシナリオの繰り返し回数

シナリオの設定

サイト表示やキーワードを使った検索結果などHTTPリクエストの設定を行う

image-6.png

負荷検査を実施する

GUI上で実行する

image-12.png

※最終的な負荷検査は下で説明するコマンドラインから実行すること

コマンドライン上から実行

パターン作成時につくった「jmxファイル」をコマンドラインから実行する
image-8.png

結果を確認する

負荷検査を実行後、完了するとレポートファイル「jtl」やログファイル「log」ファイルが出力される
JMeter上から負荷検査の結果を確認する。

GUI上で追加->リスナー->結果を表で表示
image-9.png

レポートファイル「jtl」を設定し結果を確認する

<表で確認>
image-13.png

Latency:レスポンス時間に注目する

<グラフで確認>
image-11.png

結果をまとめる

以下のような感じで評価指標と比較し結果をまとめました

項目 基準値 計測値(%) 判定
応答時間 95%のリクエストが2秒以下 → 2秒以下のリクエストが全体の95%以上 99.44%
エラーレート 5%以下 0.00%
サーバーリソース CPU使用率が80%以下、メモリ使用率が90%以下、ディスク使用率が70%以下
開発AP-メモリ 68.53%
開発AP-CPU 29.90%
開発DB-メモリ 11.77%
開発DB-CPU 6.80%

さいごに

今回の負荷検査を通じて、システムの性能や限界点を把握する重要性を改めて認識しました。性能評価や改善のプロセスを定期的に行い、課題を早期に発見・解決することが不可欠です。今回の結果をもとに、さらなる最適化と利用者にとって快適なサービス提供を目指していきます。

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?