3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Linuxサーバー負荷検証

Last updated at Posted at 2020-05-15

負荷検証するためのメモ

CPUに対して負荷をかける

# yesを使う場合
# 1プロセスで足りない場合は複数実行
yes > /dev/null &

# gzipを使う場合
# 1プロセスで足りない場合は複数実行
gzip -9 < /dev/urandom > /dev/null &

# opensslを使う場合
openssl speed -multi `grep processor /proc/cpuinfo|wc -l`

解説
&の意味: バックグラウンド実行
<bash_command> > /dev/nullの意味: 出力を破棄する。なにも表示されない。
<bash_command> < /dev/urandomの意味: 乱を生成しコマンドに対して引数として渡す

メモリ負荷

以下の実行にyesコマンドの実行結果を/dev/nullにレンダリングし続けることで使用メモリを高めていく。

# 1プロセスで足りない場合は複数実行
/dev/null < $(yes) & 

# malloc, free 関数を繰り返し実行するコマンド
# --vm で起動するプロセス数を指定する。
# --vm-bytes で確保するメモリを指定する。
# --vm-keep を指定すると、free を行わず確保したままにしてくれる。
stress --vm 2 --vm-bytes 1G --vm-keep

注意事項:
--vm-bytesの値が大きすぎる場合、メモリに乗らないためエラーとなる
その時は、--vm プロセス数 × --vm-bytes数が合計のメモリサイズになるためプロセス数を増やすことで合計メモリを上げることができる。

容量負荷

以下のコマンドにてファイル生成をすることができる。
全てNULL文字で埋まったファイルを生成する。

注意事項
メモリに乗り切らないぐらいの大きさのbsを指定すると失敗する。
この場合にはbsの値を小さくして、countの値を大きくすることで対応する。
bs*countの値が最終的に出力されるファイルサイズとなる。

# 100バイトのファイルを生成する
dd bs=100 count=1 if=/dev/zero of=file1 
# 102400バイトのファイルを生成する
dd bs=1K count=100 if=/dev/zero of=file2 
# 100000バイトのファイルを生成する
dd bs=1KB count=100 if=/dev/zero of=file3 

ログファイルなどがボトルネックになっている場合は、削除or移動して空き容量を確保すること

# 最終更新日が90日以上経過している"*.log"ファイルの削除
find $TARGET_DIR -type f -name "*.log" -mtime +90 | xargs rm -f

最後には立ち上げたプロセスの分削除すること

jobs

# jobsの実行結果に出てくるプロセス分 引数を取り削除
kill %1 %2 %3 ... %N
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?