這篇文章主要講解了“dd命令怎么測試硬盤性能”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“dd命令怎么測試硬盤性能”吧!
dd bs=64k count=4k if=/dev/zero of=test
dd bs=64k count=4k if=/dev/zero of=test; sync
dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
這四條DD命令區別在于內存中寫緩存的處理方式。
1.
dd bs=64k count=4k if=/dev/zero of=test
沒有加任何參數,dd默認的方式不包括“同步(sync)”命令。也就是說,dd命令完成前并沒有讓系統真正把文件寫到磁盤上。所以以上命令只是單純地把這128MB的數據讀到內存緩沖當中(寫緩存[write cache])。所以你得到的將是一個超級快的速度。因為其實dd給你的只是讀取速度,直到dd完成后系統才開始真正往磁盤上寫數據,但這個速度你是看不到了。所以如果這個速度很快,沒有什么作用。
實際運行結果:
268435456 bytes (268 MB) copied, 1.3529 seconds, 198 MB/s
2.
dd bs=64k count=4k if=/dev/zero of=test; sync
和前面1中的完全一樣。分號隔開的只是先后兩個獨立的命令。當sync命令準備開始往磁盤上真正寫入數據的時候,前面dd命令已經把錯誤的“寫入速度”值顯示在屏幕上了。所以你還是得不到真正的寫入速度。
實際運行結果:
268435456 bytes (268 MB) copied, 0.522815 seconds, 513 MB/s
3.
dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync
加入這個參數后,dd命令執行到最后會真正執行一次“同步(sync)”操作,所以這時候你得到的是讀取這128M數據到內存并寫入到磁盤上所需的時間,這樣算出來的時間才是比較符合實際使用結果的。
實際運行結果:
268435456 bytes (268 MB) copied, 2.8046 seconds, 95.7 MB/s
4.
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync
加入這個參數后,dd在執行時每次都會進行同步寫入操作。也就是說,這條命令每次讀取64k后就要先把這64k寫入磁盤,然后再讀取下面這64k,一共重復128次。這可能是最慢的一種方式了,因為基本上沒有用到寫緩存(write cache)。
實際運行結果:
268435456 bytes (268 MB) copied, 3.40069 seconds, 78.9 MB/s
一般來說,第四種方法是最嚴格的,可以模擬數據庫的插入操作,所以很慢,也是用來測試vps硬盤性能標準的一條標桿,一般來說測試結果,如果超過10M,對正常建站就無影響。超過50M,就是非常給力狀態,看了這個vps硬盤性能非常的好,DD速度達到了78.9MB/s。
在這幾條命令中,bs=64k表示同時讀入/輸出的塊大小為64k個字節,count=4k表示拷貝塊的個數為4000個,如果測試再嚴格一點,我們運行1G數據量的DD:
dd if=/dev/zero of=test bs=64k count=16k oflag=dsync
表示每個塊大小為64k個字節,測試16k個數量的塊,實際測試結果:
1073741824 bytes (1.1 GB) copied, 18.9098 seconds, 56.8 MB/s
感謝各位的閱讀,以上就是“dd命令怎么測試硬盤性能”的內容了,經過本文的學習后,相信大家對dd命令怎么測試硬盤性能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。