目前的機械磁盤運作方式,主要體現在磁盤讀寫尋找磁道的過程,磁盤緩存功能對於讀寫速度是很重要的。磁盤的尋道過程是機械方式,這樣就決定其隨機速度明顯低於順序讀寫,一般普通的磁盤的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