killallコマンドにてddコマンドの転送速度を計測方法

Linuxサーバ

RHEL系(CentOS)
---
ddコマンドの実行容量と転送速度を確認する方法を説明します。

そのコマンドが

# killall -SIGUSR1 dd

※ddコマンドを実行している別のエディターやターミナルなどで
 実行してください

背景

ddコマンドで大容量コピーを実施しているとどれだけコピーできたか?
どのくらいの転送速度なのか?いつ終わるのか?が気になると思います。

それの時に、このkillallコマンドを利用すれば
どのくらいコピーが終わったのか?どのくらいの転送スピードなのか?
を知ることができ、作業終了時間の予測をつけることが可能となります。

また、事前にコピーテストを実施することでどのくらいの時間がかかるか?
の予測が立てることも可能となります。
そして、ddのbsオプションを調整することで最適な転送速度を見つけて
実行してより迅速にコピーを実施することができます。

注意事項

killallコマンドとkillall5コマンドが存在しますが、killallコマンドを実行する
必要がありますので間違わないようにしてください。

killallコマンドは「psmiscパッケージ」がインストールされていれば
利用可能です。
パッケージがインストールされていなければ

#yum instlall psmisc

を実行してpsmiscパッケージをインストールしてください

具体的な流れを解説

1.ddコマンドを実行します。

2.dd実行中で別ターミナルでkillallコマンドを実行(1回目)
 コピー状況(容量とかかった時間)、転送速度がddコマンド実行ターミナルに表示

3.何度かkillallコマンド(2回目)を実行

4.killallコマンドを3,4回と実行

5.ddコマンド実行が完了すると同様に
 最終のコピー状況(容量とかかった時間)と転送速度が表示

追加情報

ddコマンドのbsオプションを調整すると転送速度のチューニングができます
※bsオプションの設定により、ddコマンド実行サーバのメモリが消費量が
 変化しますのでメモリ枯渇がないように設定ください
bs設定はサーバ環境で変化するので、本番実行前に確認することで最適な設定を
行ってください。


 本番環境でddコマンドをテスト的に実行できる場合
  1.ddコマンドを実行し、別ターミナルでkillallコマンドを実行
  2.ddコマンドのターミナル側に転送速度が表示
  3.ddコマンドの実行を[ctrl+c」で強制終了
 ※コピー先の容量と環境を用意できればテスト的に実行して事前に
  転送速度を確認することができ本番での実行にどれだけの時間が
  かかるのか知ることができます

下記、画像にbsオプションの設定と転送速度を記載しておきますので
参考にしてください。

おすすめは、「bs=256M」です

コメント

タイトルとURLをコピーしました