目前的機械磁碟運作方式,主要體現在磁碟讀寫尋找磁軌的過程,磁碟緩衝功能對於讀寫速度是很重要的。磁碟的尋道過程是機械方式,這樣就決定其隨機速度明顯低於順序讀寫,一般普通的磁碟的IO可以達到每秒 40--60MB,稍微好一點的話是每秒100MB左右,在多進程或多線程並發讀取磁碟的情況下隨著並發數的增加,磁碟的IO效率會打打下降。
在 Linux下我們可以用dd命令對磁碟讀寫速度進行測試。
用time進行計時。dd 用於複製, 從if 讀出,寫到of, 如果 if=/dev/zero 這樣就不會產生IO,可以用來測試唯寫的速度,如果of=/dev/null 這樣也不會產生IO,可以用來測試唯讀速度。
bs 表示每次讀或寫的單位大小。 count讀寫塊的數目
測試唯寫的速度:
# time dd if=/dev/zero of=/mpc bs=8K count=1000 1000+0 records in 1000+0 records out 8192000 bytes (8.2 MB) copied, 0.0109971 s, 745 MB/s real 0m0.031s user 0m0.000s sys 0m0.010s
測試唯讀情況:
# time dd if=/mpc of=/dev/null bs=8K 1000+0 records in 1000+0 records out 8192000 bytes (8.2 MB) copied, 0.0028807 s, 2.8 GB/s real 0m0.005s user 0m0.000s sys 0m0.000s
測試讀寫的情況:
# time dd if=/mpc of=/mpc2 bs=20K 400+0 records in 400+0 records out 8192000 bytes (8.2 MB) copied, 0.0114427 s, 716 MB/s real 0m0.015s user 0m0.000s sys 0m0.010s
ps:測試的資料量越大,越準確。
本文出自 “技術成就夢想” 部落格,請務必保留此出處http://weipengfei.blog.51cto.com/1511707/978801