1. 程式人生 > >測試linux下磁碟的讀寫速率

測試linux下磁碟的讀寫速率

1) 通過df -h命令檢視磁碟情況

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda4             289G   61G  214G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda2             969M   62M  857M   7% /boot
/dev/sda1             999M  268K  998M   1% /boot/efi
/dev/sda3             626G  8.0G  586G   2% /home

2)通過hdparm測試讀取速率

[root]# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads: 542 MB in  3.01 seconds = 180.09 MB/sec

從中可以看到,平均讀盤速率是180.09 MB/sec

1. 測試讀取速度

haparm -Tt /dev/xxx

1.1 獲取硬碟裝置名稱:

fdisk -l

Disk /dev/xvdf: 365.0 GB, 365041287168 bytes

255 heads, 63 sectors/track, 44380 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

1.2 測試硬碟讀取速度

hdparm -tT /dev/xvdf

/dev/xvdf:

Timing buffered disk reads: 962 MB in 3.00 seconds = 320.56 MB/sec

1.3 硬碟讀取速度測試結果

1.3.1 臺式物理機

  spec: 7200轉硬碟

hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 7650 MB in 2.00 seconds = 3829.28 MB/sec
Timing buffered disk reads: 296 MB in 3.02 seconds = 98.05 MB/sec

1.3.2 VmWare虛擬機器

host spec: 7200轉硬碟

hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 11396 MB in 2.00 seconds = 5704.37 MB/sec
Timing buffered disk reads: 648 MB in 3.09 seconds = 209.45 MB/sec

1.3.3 amazon EC2上虛擬機器

Instance type: m1.large

hdparm -tT /dev/xvdf

/dev/xvdf:
Timing cached reads: 5830 MB in 1.99 seconds = 2923.38 MB/sec
Timing buffered disk reads: 950 MB in 3.00 seconds = 316.61 MB/sec

2. 測試寫速度

2.1 測試方法

使用time命令和dd命令可以簡單測試硬碟的寫速率

2.2. 硬碟讀取速度測試結果

2.2.1 臺式物理機

  spec: 7200轉硬碟

time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 9.78201 s, 105 MB/s

real 0m9.806s
user 0m0.236s
sys 0m3.120s

1.3.2 VmWare虛擬機器

host spec: 7200轉硬碟

time dd if=/dev/zero bs=1024 count=1000000 of=/1Gb.file
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 13.533 s, 75.7 MB/s

real 0m13.605s
user 0m0.113s
sys 0m3.077s

1.3.3 amazon EC2上虛擬機器

Instance type: m1.large

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

1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 22.6497 s, 45.2 MB/s

real 0m23.785s
user 0m0.504s
sys 0m5.888s

3. 總結

  物理機    VmWare虛擬機器    Amazon虛擬機器   
  讀速度   105 209.45 316.61
  寫速度 105 75.7 45.2

4. 附錄

hdparm -h

-a<快取分割槽> 設定讀取檔案時,預先存入塊區的分割槽數,若不加上<快取分割槽>選項,則顯示目前的設定。

-A<0或1> 啟動或關閉讀取檔案時的快取功能。   
-c<I/O模式> 設定IDE32位I/O模式。   
-C 檢測IDE硬碟的電源管理模式。   
-d<0或1> 設定磁碟的DMA模式。   
-f 將記憶體緩衝區的資料寫入硬碟,並清楚緩衝區。   
-g 顯示硬碟的磁軌,磁頭,磁區等引數。   
-h 顯示幫助。   
-i 顯示硬碟的硬體規格資訊,這些資訊是在開機時由硬碟本身所提供。   
-I 直接讀取硬碟所提供的硬體規格資訊。   
-k<0或1> 重設硬碟時,保留-dmu引數的設定。   
-K<0或1> 重設硬碟時,保留-APSWXZ引數的設定。   
-m<磁區數> 設定硬碟多重分割槽存取的分割槽數。   
-n<0或1> 忽略硬碟寫入時所發生的錯誤。   
-p<PIO模式> 設定硬碟的PIO模式。   
-P<磁區數> 設定硬碟內部快取的分割槽數。   
-q 在執行後續的引數時,不在螢幕上顯示任何資訊。   
-r<0或1> 設定硬碟的讀寫模式。   
-S<時間> 設定硬碟進入省電模式前的等待時間。   
-t 評估硬碟的讀取效率。   -T 評估硬碟快取的讀取效率。   
-u<0或1> 在硬碟存取時,允許其他中斷要求同時執行。   -v 顯示硬碟的相關設定。   
-W<0或1> 設定硬碟的寫入快取。   -X<傳輸模式> 設定硬碟的傳輸模式。   
-y 使IDE硬碟進入省電模式。   -Y 使IDE硬碟進入睡眠模式。   
-Z 關閉某些Seagate硬碟的自動省電功能。