LinuxおよびUnixでddコマンドを使用したディスクI/Oパフォーマンスのテスト

Linuxでddコマンドを使用して、ハードディスクドライブのI/Oパフォーマンスをテストするにはどうすればよいですか? Linuxオペレーティングシステムでの読み取りと書き込みの速度を含むハードドライブのパフォーマンスを確認するにはどうすればよいですか? Linux I/Oパフォーマンステストでddコマンドを使用するにはどうすればよいですか?
linuxまたはUnixライクなシステムでは、次のコマンドを使用して、簡単なシーケンシャルI/Oパフォーマンステストを実行できます:

  • ddコマンド : これは、LinuxおよびUnixライクなシステム上のディスクデバイスの書き込み性能を監視するために使用されます。
    チュートリアルの詳細
    難易度 中級()
    Root権限 はい
    <6409><5995>
    時間
  • hdparmコマンド:これは、Linuxベースのシステム上のディスクデバイスの読み取りとキャッシュ性能をテストするなど、ハードディスクパラメータを取得/設定す

このチュートリアルでは、ddコマンドを使用してディスクI/Oパフォーマンスをテストする方法を学習します。

ddコマンドを使用して、ディスクデバイスの読み書きパフォーマンスを監視します。

ddコマンドは、単純なシーケンシャルI/Oパフォーマンスを調べる この例では、Ubuntu Linux14.04ltsサーバーで実行されているRAID-10(SAS SSDを使用したAdaptec5405Z)アレイを使用しています。 基本的な構文は、サーバーのスループットを調べるために次のとおりです。

出力のサンプル:

図1.1.1.01: RAID10を搭載したUbuntu Linuxサーバーとdd

を搭載したサーバースループットのテストこのテストでは、1ギガバイトが書き込まれ、135MB/sがサーバースループットであったことに注意してください。 ここで、

  • if=/dev/zero(if=/dev/input.ファイル):読み取り元の入力ファイルの名前。
  • of=/tmp/test1.img(of=/path/to/output.file):入力を書き込む出力ファイルの名前。ファイルへ。 Bs=1G(bs=block-size):ddで使用するブロックのサイズを設定します。 テストのために1ギガバイトが書かれました。 LinuxにはRAMに1GBの空き領域が必要であることに注意してください。 テストシステムに十分なRAMがない場合は、bsに小さいパラメータ(128MBや64MBなど)を使用します。Count=1(count=number-of-blocks):ddに読み込むブロックの数。
  • oflag=dsync(oflag=dsync):データに同期されたI/Oを使用します。 このオプションは省略しないでください。 このオプションは、キャッシュを取り除き、あなたに良いと正確な結果を与える
  • conv=fdatasyn:再び、これは終了する直前に、一度完全な”同期”を必要とするよ このオプションはoflag=dsyncと同等です。

サーバーの待機時間の検出

この例では、RAID10サーバーの待機時間を取得するために512バイトが千回書き込まれました:

dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync

サンプル出力:

1000+0 records in1000+0 records out512000 bytes (512 kB) copied, 0.60362 s, 848 kB/s

サーバーのスループットと遅延時間は、サーバー/アプリケーションの負荷にも依存します。 したがって、これらのテストは、新しく再起動されたサーバーとピーク時間で実行して、ワークロードについてより良いアイデアを得ることをお勧めします。 これで、これらの番号をすべてのデバイスと比較できます。

しかし、なぜサーバーのスループットと待ち時間が非常に低いのですか?

低い値は、遅いハードウェアを使用していることを意味するものではありません。 この値は、ハードウェアRAID10コントローラのキャッシュのために低くなる可能性があります。

hdparmコマンドを使用して、バッファとキャッシュされたディスクの読み取り速度を確認します

ベンチマークと比較のために、次のコマンドを2回または3回実行することをお勧めしますデバイス読み取りのタイミングを実行します:

### Buffered disk read test for /dev/sda ##hdparm -t /dev/sda1## OR ##hdparm -t /dev/sda

ベンチマークと比較のためにキャッシュ読み取りのタイミングを実行するには、次のコマンドを2-3回実行します(-Tオプションに注意してくださ):

## Cache read benchmark for /dev/sda ###hdparm -T /dev/sda1## OR ##hdparm -T /dev/sda

または両方のテストを組み合わせる:

hdparm -Tt /dev/sda

サンプル出力:

図1.1.1.02: Linuxのhdparmコマンドは、読み取りとキャッシュディスクのパフォーマンスをテストする

再びファイル操作上のファイルシステムのキャッシュのために、あ

Linuxでddコマンドを使用して読み取り速度をテスト

正確な読み取りテストデータを取得するには、まず次のコマンドを実行してテストする前にキャッ:

flushecho 3 | sudo tee /proc/sys/vm/drop_cachestime dd if=/path/to/bigfile of=/dev/null bs=8k

Linuxラップトップの例

次のコマンドを実行します:

Apple OS X Unix(Macbook pro)の例

GNU ddにはさらに多くのオプションがありますが、OS X/BSDとUnixのようなddコマンドは、実際のディスクI/Oをテストするために、次のように実行する必要があり、メモリは同期オプションを追加しません。:

## Run command 2-3 times to get good results ###time sh -c "dd if=/dev/zero of=/tmp/testfile bs=100k count=1k && sync"

サンプル出力:

1024+0 records in1024+0 records out104857600 bytes transferred in 0.165040 secs (635346520 bytes/sec) real0m0.241suser0m0.004ssys0m0.113s

だから私は私のMBPに635346520バイト(635.347MB/s)の書き込み速度を得ています。

コマンドラインツールのファンではない…?

LinuxまたはUnixベースのシステムでディスクユーティリティ(gnome-disk-utility)を使用して、同じ情報を取得できます。 次のスクリーンショットは、私のFedora Linux V22VMとUbuntu20.04デスクトップから取得されています:

グラフィカルメソッド

“アクティビティ”をクリックするか、”スーパー”キーを押し タイプ”ディスク”

図1.1.1.03:Gnome disk utility

を起動し、左ペインでハードディスクを選択し、設定ボタンをクリックし、”Benchmark partition”をクリックします”:

図1.1.1.04: Benchmark disk/partition

最後に、”Start Benchmark…”ボタンをクリックします(管理者のユーザー名とパスワードを昇格することができます):

図1.1.1.05:最終ベンチマーク結果

Ubuntu20.04LTSでディスクツールを実行する:

  1. まず、アクティビティの概要からディスクを開きます。
  2. 次に、左ペインのリストからディスクを選択します。
  3. メニューボタンを選択し、メニューからBenchmark disk…を選択します。
  4. Start Benchmark…をクリックし、必要に応じて転送レートとアクセス時間のパラメータを調整します。
  5. 最後に、ベンチマークの開始をクリックして、ディスクからデータを読み取る速度をテストします。 管理者権限が必要な場合があります。 パスワード、または要求されたシステム管理者アカウントのパスワードを入力します。

“ディスク”を使用してハードディスクのパフォーマンスをテストします’

ディスクI/Oパフォーマンスのテストには、どの方法とコマンドを使用することをお勧めしますか。すべてのUnixライクなシステムでddコマンドをお勧めします(time sh-c”dd if=/dev/zero of=/tmp/testfile bs=100k count=1k&&sync”))

  • GNU/Linuxを使用している場合は、ddコマンド(dd if=/dev/zero of=/tmp/testALT。img bs=1G count=1conv=fdatasync)
  • あなたは良い結果のセットを得るためにあなたのセットアップごとにcountとbs引数を調整していることを確認してください。
  • GUIメソッドは、Gnome2または3デスクトップを実行しているLinux/Unixラップトップユーザーにのみ推奨されます。
  • I/Oパフォーマンスの詳細なベンチマークについては、fioコマンド
  • IOzoneを使用します。 これは、ファイルシステムベンチマークツールです。 ベンチマークは、さまざまなファイル操作を生成して測定します。
  • 結論

    簡単でシーケンシャルなI/Oパフォーマンス測定をテストするために、LinuxまたはUnixでddを使用する方法を学びました。 詳細なI/Oパフォーマンスベンチマークについては、UnixまたはLinux用の”The Flexible I/O Tester(FIO)”を試してください。 詳細については、”LINUXでIDE/SATAハードディスクの転送速度を確認する方法”およびmanページ:hdparm(1)を参照してください。

    🐧 Patreon上または寄付で私の仕事をサポートしてください。
    †RSSフィードまたは毎週の電子メールニュースレターを介して、Linux、オープンソース&DevOpsに関する最新のチュートリアルを入手してくださ
    🐧14これまでのコメント… 一つを追加↓
    カテゴリ UnixおよびLinuxコマンドのリスト
    ファイル管理 cat
    ファイアウォール Alpine Awall•CentOS8•OpenSUSE•RHEL8•Ubuntu16.04•Ubuntu18.04•Ubuntu20.04
    ネットワークユーティリティ dig*ホスト*ip*nmap
    OpenVPN CentOS7•CentOS8•Debian10•Debian8/9•Ubuntu18.04•Ubuntu20.04
    パッケージマネージャ apk•apt
    プロセス管理 bg•chroot*cron*disown*fg*ジョブ*killall*kill*pidof*pstree•pwdx*時間
    検索 grep*whereis•which
    ユーザー情報 グループ*id*lastcomm*last*lid/libuser-lid*logname*メンバー*ユーザー•whoami*who•w
    WireGuard VPN アルパイン•CentOS8•Debian10*ファイアウォール • Ubuntu20.04

    You might also like

    コメントを残す

    メールアドレスが公開されることはありません。