技術メモ 読む時間 約3分

JMeterでWebサイトの負荷テスト

JMeterでWebサイトの負荷テスト

現在のサイトがどのくらいの負荷に耐えられるのか?

JMeter を使って、自分が管理しているこのサイトで実験してみました(Windows の環境・2021 年 5 月)。

Apacheソフトウェア財団にて開発されているソフトウェア。
パフォーマンス測定および負荷テストを行うJavaアプリケーションです

JMeterをダウンロード

https://jmeter.apache.org/download_jmeter.cgi
上記からJMeterのzipをダウンロードし展開します。

Javaのインストール

https://www.java.com/ja/download/
上記からJavaをダウンロードしインストールします。( Windows版64ビットJava )

JMeterを日本語化する

  1. 展開したフォルダのなかに「bin」フォルダがあり、中にjmeter.batがあることを確認します。
  2. jmeterjp.batというファイルに下記の内容を記述して保存します。

SET JVM_ARGS=”-Duser.language=ja”
jmeter.bat

JMeterを起動

先ほど作成したjmeterjp.batを実行することでアプリケーションが起動します

1. 負荷テストの設定 ( スレッドグループ作成 )

  1. 「テスト計画」を右クリック
  2. 「追加」
  3. 「Threads(Users)」
  4. 「スレッドグループ」を選択

2. 負荷テストの設定 ( 負荷の内容を設定 )

スレッド数: 30
Ramp-Up期間(秒): 30
ループ回数: 1 (無限ループのチェックボックスはオフにしてください)

30 秒かけて 30 ユーザー(スレッド)が順に起動し、それぞれ 1 回ずつアクセスするという意味です。

3. 負荷テストの設定 ( HTTPリクエスト設定 )

  1. 「スレッドグループ」を右クリック
  2. 「追加」
  3. 「サンプラー」
  4. 「HTTP リクエスト」を選択

4. 負荷テストの設定 ( ページ指定 )

プロトコル: https
サーバー名またはIP: 対象のホスト
ポート番号: 443

ここまで設定できたらデータを保存します。
左上のフロッピーアイコンから保存してください。

実行結果を表示する統計レポートを設定

  1. 「テスト計画」を右クリック
  2. 「追加」
  3. 「リスナー」
  4. 「統計レポート」を選択

設定した内容でテストを実行

スレッド数: 30
Ramp-Up期間(秒): 30
ループ回数: 1

こちらの設定ではエラーはありませんでした。

スレッド数: 1000
Ramp-Up期間(秒): 1
ループ回数: 60

次にこちらの結果

こちらの設定でもエラーはありませんでした。

このくらいのアクセスでもエラーは確認できなかったので取り急ぎは問題なさそうです

一時的にアクセスが集中したりするとサーバーが503を返却しページが見られなくなったりするので事前にこういったテストで確認してみるのも良いかと思います。

エラーになる主な原因と注意事項

  1. 同時アクセス数の上限に達している
  2. DB接続数の上限に達している
  3. 重い画像を多用、wordpress等でプラグインを多用

あまりに極端な数値でテストを行うとレンタルサーバー側に迷惑になることもありますので使用の際はご注意ください。

必ず自分が管理しているサイトだけで試してください。他人のサイトに負荷テストをすると、攻撃と見なされます。

※ JMeter は今では、画面の「オプション」→「言語の選択」から日本語にできるので、日本語化の bat を作らなくても使えます。また、Java は JDK(Adoptium など)を使う方法もよく案内されています。

この記事を書いた人

フリースタイル

Web の仕事 25 年以上。WordPress の保守・引っ越しと、PHP の業務の仕組みづくり。 プロフィール →

まずは、お気軽にご相談ください。

相談と見積りは無料です。急ぎのときは、フォームで「急ぎ」を選んでください。