こんにちは。モリモトです。
負荷テスト入門02です。
引き続き負荷テストについて理解を深めていきたいとおもいます~!
前回の記事はコチラ。
■モニタリングツールを用意しよう
モニタリングツールとは「サーバーの状態を監視するためのツール」です。
これを使ってボトルネックの発見じゃ~!
モニタリングツールといってもいろいろあります。
- Munin
- JetProfiler
- Newrelic etc….
今回みんな大好きMuninを導入してみます。
■Munin(ムニン)ってなに?
Muninとは、各リソースのモニタリングを行うツールです。
CPU、メモリ、ディスク容量やネットワークトラフィック等の性能状況が取得でき、簡単にグラフ化することができます。
また、グラフはRRDToolでグラフ化され、Webブラウザにて確認できます。
公式 http://munin-monitoring.org/
めっちゃ便利。
■Muninのしくみ
munin-master、munin-nodeの構成で動作します。
munin-masterでは5分に1回収集スクリプトが動作し、munin-node(tcp/4949)にアクセスしてリソース情報を収集します。
munin-nodeではリソース情報収集用のプラグインが動作し、リソース情報をmunin-masterに返却します。
収集データから自動的にhtml、pngが作成され、munin-masterサーバにhttpアクセスしてリソース状況の監視ができます。
たまに5分に1回じゃ検知されないよ~!って時があるのでその時はサーバにはいって直接みます。
5分間隔を短くすることもできるんですかね~モリモトにはわからないので調べてみてください。
■muninインストール
環境
- CentOS Linux release 7.6.1810 (Core)
- Munin v2.0.49
- Apache 2.4.6
1.Apacheインストール
1
2
|
yum install httpd
systemctl start httpd
|
2.インストール
最初wgetでソースダウンロードしてmakeで試してみましたが、Errorでたので秒で諦めてyumで…
1
2
|
yum install epel-release
yum install munin --enablerepo=epel
|
最新バージョンはいったー(2019/8/1時点で最新:munin-2.0.49)
1
2
3
|
munin-node -v
Version:
This is munin-node v2.0.49
|
3.munin.conf修正
以下のように監視対象サーバを追加します。
1
2
3
4
5
6
7
8
|
vim /etc/munin/conf.d/local.conf
[hogesvr001]
address 192.168.0.2
use_node_name yes
[hogesvr002]
address 192.168.0.3
use_node_name yes
|
4.起動
1
2
|
systemctl start munin-node
systemctl status munin-node
|
5.起動確認
1
|
sudo -u munin /usr/local/munin/bin/munin-cron
|
munin-cronが正しく起動したら http://localhost/munin/ にアクセスして確認
完(はやい!)
■負荷テストツールを用意しよう
次に前回の記事の最後にちらっとでてきたJMeterを用意しましょう!
■JMeter(ジェーメーター)ってなに?
Apache JMeterとはオープンソースの負荷テストツールで、Webアプリケーションの負荷テストに使用できます。
HTTPリクエストを多スレッドでループさせ、大量アクセスを疑似的に作り出すことができます。
例えば「X人が使用すること想定した負荷をかける」というシチュエーションを、実際の人員を用意せずJMetertで実現できる!ということ
また、負荷をかけるだけではなくレスポンスの確認もできる!
さらに、Javaで書かれているのでWindowsやLinuxでも環境依存せずに利用できる!
公式 https://jmeter.apache.org/
めっちゃ便利。
■JMeterのしくみ
こんなかんじ
■JMeterインストール(linux)
環境
- CentOS Linux release 7.6.1810 (Core)
- Java 1.8.0_222
1.OpenJDKダウンロード
1
2
3
4
5
|
yum install java-1.8.0-openjdk
java -version
>openjdk version "1.8.0_222"
>OpenJDK Runtime Environment (build 1.8.0_222-b10)
>OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
|
2.JMeterダウンロード
1
2
3
4
5
6
|
cd /usr/local/src/
wget -O /usr/local/src/apache-jmeter-3.0.tgz http://ftp.jaist.ac.jp/pub/apache/jmeter/binaries/apache-jmeter-5.1.1.tgz
tar -xf apache-jmeter-3.0.tgz
mkdir /home/jmeter
mv /usr/local/src/apache-jmeter-5.1.1 /home/jmeter/
/home/jmeter/apache-jmeter-5.1.1/bin/jmeter -v
|
完(はやい!!)
次はWindowsにもいれるよ!
■JMeterインストール(Windows)
環境
- Apache Jmeter 3.0
- Windows10(64bit)
- Java 1.8.0_181
1.JMeterダウンロード
http://jmeter.apache.org/download_jmeter.cgi
からJMeterをダウンロード
2.起動
解凍されたフォルダのなかに「bin」フォルダがあり、中にjmeter.batがあるので、実行するとJMeterが起動するはずです。
完(はやい!!!大分はしょった)
■終わりに
これで負荷をかける環境、負荷を監視する環境が整いました!
負荷をかけるにはシナリオが必要です。
というわけで次回はシナリオの作成について記載していけたらなと思います。