インフラ

インフラの結合テスト・負荷テストの時に使えるコマンド(CPU、メモリ、ディスク)

インフラのテストで 使えるコマンド

サーバの結合テスト・負荷テストをたまに作ることがあります。

新人の頃は、何を作ればよいのか分からない状態でした。

最近作れるようになってきました。

しかし、高頻度でやるものでもないので忘れることも多いです。

そこで、結合テスト・負荷テストの際によく使うコマンドをまとめてみました。

stressコマンドを使えばいいと思うのですが、入れては行けない現場が多く

標準のコマンドでできる負荷がけとなっています。

環境は、「centos7.5」を使用しています。

Contents

CPUの使用率を上げたい

yes > /dev/null

一つだと負荷が少ないので、バックグラウンドで複数実行するといいです。


$ yes > /dev/null &
$ yes > /dev/null &
$ yes > /dev/null &

確認してみると、ユーザーCPU時間を表す「us」列が上がっているのがわかります。

※「vmstat 2」の「2」の部分は2秒ごとに表示という意味です。


[vagrant@host ~]$ vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0  18620  90492      0 303084    4    5    83   126   58   89  1  0 99  0  0
 1  0  18620  90492      0 303084    0    0     0     0  362   18 98  2  0  0  0
 1  0  18620  90492      0 303084    0    0     0     0  473   16 100  0  0  0

止めたいときは、まず「jobs」で番号を確認します。


[vagrant@host ~]$ jobs
[01]   実行中               yes > /dev/null &
[02]-  実行中               yes > /dev/null &
[03]+  実行中               yes > /dev/null &

確認した番号に%をつけて、「kill」します。


[vagrant@host ~]$ kill %1 %2 %3

Terminatedになっていれば、OKです。


[vagrant@host ~]$ jobs
[01]   Terminated              yes > /dev/null
[02]-  Terminated              yes > /dev/null
[03]+  Terminated              yes > /dev/null

メモリの使用率を上げたい

/dev/null < $(yes) &

これもバックグラウンドで、複数実行するといいです。


[vagrant@host ~]$ /dev/null < $(yes) &
[vagrant@host ~]$ /dev/null < $(yes) &
[vagrant@host ~]$ /dev/null < $(yes) &

「free」で確認します。「used」が増えているのがわかると思います。


[vagrant@host ~]$ free
              total        used        free      shared  buff/cache   available
Mem:         468312      382036       31796          16       54480       17004
Swap:       1048572      538452      510120

終了方法は、CPUと同じです。


[vagrant@host ~]$ jobs
[01]   実行中               /dev/null < $(yes)
[02]-  実行中               /dev/null < $(yes)
[03]+  実行中               /dev/null < $(yes)

確認した番号に%をつけて、「kill」します。


[vagrant@host ~]$ kill %1 %2 %3

Terminatedになっていれば、OKです。


[vagrant@host ~]$ jobs
[01]   Terminated              /dev/null < $(yes)
[02]-  Terminated              /dev/null < $(yes)
[03]+  Terminated              /dev/null < $(yes)

ディスクの使用率を上げたい

dd if=/dev/zero of=/dummy bs=<バイト数> count=<個数>

ダミーファイルを作ってディスクに負荷をかけます。


[vagrant@host /]$ sudo dd if=/dev/zero of=/dummy bs=100M count=3

「df」コマンドで確認します


[vagrant@host /]$ df
df: `/vagrant': プロトコルエラー
ファイルシス            1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/centos-root    40313620 1780264 38533356    5% /
devtmpfs                     224712       0   224712    0% /dev
tmpfs                        234156       0   234156    0% /dev/shm
tmpfs                        234156   12680   221476    6% /run
tmpfs                        234156       0   234156    0% /sys/fs/cgroup
/dev/sda1                    508588  156652   351936   31% /boot
tmpfs                         46832       0    46832    0% /run/user/1000

ダミーファイルを削除して、負荷がけを終了します。


[vagrant@host /]$ sudo rm /dummy

まとめ

結合テスト・負荷テストのコマンドをまとめてみました。
手軽にできますが、注意して実行しましょう。

Amazonで「インフラ」の本をみてみる!!

現役インフラエンジニアが選ぶUdemyインフラ系のおすすめコース3選動画学習プラットフォームUdemyのインフラ系おすすめコースを厳選しました。どのコースも基礎から学べるので、インフラ経験が浅い人にもおすすめです。...
新人〜中堅におすすめ インフラエンジニアの教科書をよんでみた
新人〜中堅におすすめ「インフラエンジニアの教科書」を読んでみた3年目インフラエンジニアのちゃりおです。 今回は、こちらの本を紹介します。 インフラエンジニアに必要な知識が幅広くまとまっていて、勉強...