linuxでディスクのIO読み書き速度をテスト

2569 ワード

http://www.jbxue.com/LINUXjishu/16271.html
linuxシステムのメンテナンスでは、IOのように特に高い場合がありますが、IOのボトルネックかソフトウェアパラメータの設定が不適切でホットディスクの問題を引き起こすかは判断できません.この場合、ハードディスクの速度テストを行い、ディスクの読み書き速度を確認する必要があります.
2つのテスト方法:(1)hdparmコマンドを使用するATA/IDEハードディスクのパラメータを取得するためのコマンドであり、初期Linux IDE駆動の開発とメンテナンス担当者Mark Lord開発によって作成された(hdparm has been written by Mark Lord, the primary developer and maintainer of the (E)IDE driver for Linux, with suggestions from many netfolk).このコマンドはLinuxシステムのみにも使用するべきで、UNIXシステムではATA/IDEハードディスク用のものが少ない可能性があり、一般的に大規模なシステムではディスクアレイが使用する.
使用方法:

   # hdparm -Tt /dev/sda 
  
/dev/sda:
Timing cached reads: 6676 MB in 2.00 seconds = 3340.18 MB/sec
Timing buffered disk reads: 218 MB in 3.11 seconds = 70.11 MB/sec

2秒で6676 MBのキャッシュが読み込まれ、約3340.18 MB/secであることがわかります.3.11秒で218 MBのディスクを読み取り(物理読み取り)、読み取り速度は約70.11 MB/sec
(2)ddコマンドを使用するのは専門的なテストツールではないが、テスト結果の要求が厳しくなければ、普段からディスクの読み書き速度を簡単に評価するために使用することができる.またこれは無料ソフトなので、基本的には×NIXシステムにはインストールがあり、Oracleヌードデバイスのレプリケーション移行ではddツールが一般的に優先されます.
使用前に、まず2つの特殊設備/dev/null偽設備、回収ステーションについて理解する.このファイルを書くとIO/dev/zeroダミーデバイスは生成されず、空の文字ストリームが生成され、IOは生成されません.
テスト方法:a.ディスクのIO書き込み速度をテストする

   # time dd if=/dev/zero of=/test.dbf bs=8k count=300000 
  
300000+0 records in
300000+0 records out
10.59s real 0.43s user 9.40s system
# du -sm /test.dbf
2347 /test.dbf
 

10.59秒で2347 Mのファイルが生成され、IOの書き込み速度は約221.6 MB/secであることがわかります.もちろん、この速度は何度も1つの平均値を取ることができ、確率統計に合致する.
b.ディスクのIO読み取り速度をテストする

   # df -m 
  
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
19214 9545 8693 53% /
/dev/sda1 99 13 82 14% /boot
none 506 0 506 0% /dev/shm
# time dd if=/dev/mapper/VolGroup00-LogVol00 of=/dev/null bs=8k
2498560+0 records in
2498560+0 records out
247.99s real 1.92s user 48.64s system

上記の試験では247.99秒で19214 MBのファイルを読み込み、平均速度は77.48 MB/secと計算した.
c.IO同時読み取りと書き込みの速度をテストする

   # time dd if=/dev/sda1 of=test.dbf bs=8k 
  
13048+1 records in
13048+1 records out
3.73s real 0.04s user 2.39s system
# du -sm test.dbf
103 test.dbf
 

上記のテストのデータ量は比較的小さいので、参考にしてください.2つの方法に比べて、前者はlinux上で専門的なIDE/ATAディスクをテストするツールですが、使用範囲には限界があります.(この試験はディスクIOをテストするパラメータのみを用い,他のパラメータや解釈参照manマニュアルについて)後者は汎用できるが,専門的ではなく,キャッシュと物理読みの区別も考慮せず,テストデータも参照のみで権威とは言えない.