Jmeterでお手軽負荷診断
最近徳井さんが脱税容疑で色々言われてますが、周りがそんなチマチマ言わなくていいやろ。と思う24才です。
さてこの記事では、業務で負荷診断をしないといけなくなった人向け
簡単ツールの紹介です。※AWSを使ってる案件のみ有効
gitはこちら:https://github.com/yuyu1023/qiita_jmeter
ツール構成
まず始めに今回紹介するツール構成はこちらです。
.
├── Makefile
├── hoge.pem
├── init.sh
├── log
└── tests
├── hoge_live.jmx
├── hoge_preview.jmx
└── hoge_staging.jmx
./Makefile
必要なコマンド類をまとめ、簡単に実行できるようにしてます。
./home.pem
指定サーバーに接続する為に必要な鍵です。それぞれの環境に合わせて名前は変わると思うので、良きようにしてください。
./init.sh
jmeterを実行する上で必要な設定を諸々まとめてます。このファイルは指定サーバー内で実行されます。
./log
指定サーバー内にあるlogを格納する場所です。
./test
シナリオを格納する場所。予めローカルでも挙動確認はしておいた方がいいです。
◆ ◆ ◆
事前準備
EC2でCentOSを立ち上げる。(ぽちぽちで行けます)
接続に必要な鍵を生成して保管。(./hoge.pemとの入れ替え想定)
jmeterシナリオを./test/に格納。
./Makefile内の下記項目に今回利用するhost名と鍵名を設定。
# 構築対象のIPセット
HOSTNAME1 = ec2-xxx-xxx-xxx-xxx
# 鍵設定
KEY = hoge.pem
◆ ◆ ◆
利用方法(基本的にコマンドぽちぽちしていくだけです)
①初期構築 make all/setup
指定サーバーにjmeterを動かすために必要な諸々をインストールして、 jmeterのシナリオをコピーしています。
②負荷診断実行 make jmx-exe time=`date +%Y%m%d-%H%M%S`
指定サーバー内に予めコピーしたシナリオをjmeterで実行します。実行結果は指定サーバー内 "/home/centos/log"配下に格納されます。
③ログデータ取得 make jmx-get
指定サーバー内の"/home/centos/log"をローカルの"./log"にコピーする。
④シナリオ再アップ make jmx-up
条件を変えたシナリオを指定サーバーにコピーします。またこの時コピーするシナリオはMakefile内で指定してるので良きようにして下さい。
基本的には①〜④をグルグル回すだけでの作業になります。
◆ ◆ ◆
まとめ
急に負荷診断をやらないといけなくなった…。けどやり方が分からない…。
みたいな人の為に書いてみました。
また今回はサーバー1台想定でやりましたが、複数台でもこの構成使えます!(私は3台構成で実施しました)
Makefile周りを変更すれば実現可能ですので、是非触ってみて下さい。
※もし動かないよー!って人がいたらコメントください
参考リンク集