天天看點

磁盤性能測試(讀/寫)

磁盤性能測試(讀/寫)

2011-11-21 15:44

1.測試磁盤寫能力

time dd if=/dev/zero of=/opt/test.db bs=1M count=3000

3000+0 records in

3000+0 records out

real 1m18.735s

user 0m0.001s

sys 0m9.972s

因為/dev/zero是一個僞裝置,它隻産生空字元流,對它不會産生IO,是以,IO都會集中在of檔案中,of檔案隻用于寫,是以這個指令相當于測試磁盤的寫能力。

2.測試磁盤讀能力

time dd if=/dev/sda5 of=/dev/null bs=1M

6912+0 records in

6912+0 records out

real 1m51.310s

user 0m0.004s

sys 0m9.253s

因為/dev/sdb5是一個實體分區,對它的讀取會産生IO,/dev/null是僞裝置,相當于黑洞,of到該裝置不會産生IO,是以,這個指令的IO隻發生在/dev/sda5上,也相當于測試磁盤的讀能力。

3. 測試同時讀寫能力

time dd if=/dev/sda5 of=/opt/test.db bs=1M

2193+0 records in

2193+0 records out

real 1m36.257s

sys 0m8.480s

這個指令下,一個是實體分區,一個是實際的檔案,對它們的讀寫都會産生IO(對/dev/sdb1是讀,對/test.db是寫),假設他們都在一個磁盤中,這個指令就相當于測試磁盤的同時讀寫能力。

4:其他能力

修複硬碟:

  dd if=/dev/sda of=/dev/sda

硬碟較長時間(比如1,2年)放置不使用後,磁盤上會産生magnetic fluxpoint。當磁頭讀到這些區域時會遇到困難,并可能導緻I/O 錯誤。當這種情況影響到硬碟的第一個扇區時,可能導緻硬碟報廢。上邊的指令有可能使這些資料起死回生。且這個過程是安全,高效的

确定硬碟的最佳塊大小:

通過比較以上指令輸出中所顯示的指令執行時間,即可确定系統最佳的塊大小,資料量大小都一樣,塊大小不一緻,看哪個時間最短

  dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

  dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file

  dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file