サーバーを構築後にパフォーマンステスト・負荷テストを行ないます。
その理由は、
- どの程度のパフォーマンスを出せるのか?
- どれくらいの負荷を掛けてもサービスを提供できるのか?
をたとえ正確でなくても(正確なパフォーマンスを測定するのは結構難易度が高いです)、目安となる値が取得できれば問題ないと思います。
(エンタープライズで数万人レベルの従業員がいるような環境の場合は正確な数値を求められるかもしれませんが)
以前、VMware vSphere のパフォーマンステストについて考察しました。
【VMware】VMware vSphere のパフォーマンステストの方法について
どうすれば簡単にある程度正確なテストができるのか?
- パフォーマンス・テスト
- 負荷テスト
- ロード・テスト
- ピークロード・テスト
- ストレス・テスト
正直言って定義があいまいなので、組織ごとに異なると考えた方が良いでしょう。
そのため、自分が所属する組織の定義について確認しておく必要があります。
たとえば、「ストレス・テスト」を「負荷テスト」と呼んでいるとか。
ここでは単純に負荷を掛けても
- システムが落ちない
- ハングしない
- sshのセッションが切れない
- コマンドが実行できる
などを調査するパフォーマンステストについて考えます。
stressコマンドで簡単に負荷を掛けてパフォーマンスを確認できる
Linuxサーバーなら「yum」コマンドで「stress」コマンドをインストールできます。
stressコマンドインストール手順
■テスト環境
OS : CentOS7
CPU : 4コア
メモリ : 4GB
[root@test07 ~]# cat /etc/redhat-release |
yum で簡単にインストールすることができます。
[root@cent07 ~]# yum install stress |
stress コマンドの簡単な解説
stress –help コマンドで簡単な使い方が分かります。
[root@cent07 ~]# stress –help Usage: stress [OPTION [ARG]] … Example: stress –cpu 8 –io 4 –vm 2 –vm-bytes 128M –timeout 10s Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size). |
stressコマンドの例
以下、stress コマンドの例です。
CPU負荷を掛けたい
CPU3コアに対して3分間負荷を掛けます。
[root@test07 ~]# stress –cpu 4 –timeout 3m |
この状態でサーバーにログインして top コマンドを実行します。
下図のようにstressプロセスが4つ稼働し、それぞれがCPU100%消費しています。
この状態で
- sshログインができるか?
- pingは欠けないか?
- httpdサービスは止まらないか?
- 圧縮ファイルを解凍できるか?
などをテストします。
これくらいシンプルなテストで問題ないと思います。
→むしろ難しく考えすぎて結局何もしない方が後々困ります。
メモリ負荷を掛けたい
4プロセスが起動し、それぞれが1GBのメモリを3分間消費します。
つまり、合計で4GBのメモリを3分間消費することになります。
[root@test07 ~]# stress –vm 4 –vm-bytes 1G –timeout 3m |
ディスクに負荷を掛けたい
1プロセスがディスクに対して1GBの書き込みを2分間行なって負荷を掛けます。
[root@test07 log]# stress –hdd 1 –timeout 2m |
2プロセスがディスクに対して2GBの書き込みを2分間行って負荷を掛けます。
[root@test07 log]# stress –hdd 2 –hdd-bytes 2G –timeout 2m |
まとめ
stressコマンドは非常に役に立つと思います。
私としては費用の高い高性能のツールよりもコストパフォーマンスが高いと思います。
コメント
コメント一覧 (1件)
CentOS7の場合は、標準で以下のコマンドで epel レポジトリをインストール可能です。
# yum install epel-release