dd 工具使用; SSD 順序寫性能測試;


dd 工具使用:

dd 也是我們經常使用到的磁盤測試工具,Linux服務器裝好系統之后,想要知道硬盤的讀寫是否能滿足服務的需要,如果不滿足硬盤的IO就是服務的一個瓶頸。我們可以使用dd命令簡單進行測試,更為專業的測試可以使用上面描述的fio 工具

time有計時作用,dd用於復制,從if讀出,寫到of。if=/dev/zero不產生IO,因此可以用來測試純寫速度。同理of=/dev/null不產生IO,可以用來測試純讀速度。bs是每次讀或寫的大小,即一個塊的大小,count是讀寫塊的數量。

dd測試純寫速度:

[root@docker sda]# time dd if=/dev/zero of=/mnt/sda/ddout bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 43.1081 s, 190 MB/s real 0m43.110s user 0m0.207s sys 0m3.914s

dd測試純讀速度:

[root@docker sda]# time dd if=/mnt/sda/ddout of=/dev/null bs=8k count=1000000
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 1.30322 s, 6.3 GB/s real 0m1.306s user 0m0.199s sys 0m1.102s

dd 測試讀寫速度,就是讀當前磁盤文件,再寫入當前磁盤之中。一定程度上,復制量越大,讀寫的時間越長,統計的結果越准。但是測試結果信息量較少,只能作為參考量,更多讀寫模式和測試信息:可以使用dd 命令參數來配置:

使用conv, iflag, oflag 三個變量可以配置dd 命令的復制模塊式,讀取模式和寫入模式;

conv 關鍵symbol:

fdatasync
           physically write output file data before finishing fsync likewise, but also write metadata

iflag, oflag 關鍵symbol:

dsync  use synchronized I/O for data

 sync  likewise, but also for metadata
direct use direct I/O for data

dd 命令繞過系統cache:

如果要規避掉文件系統cache,直接讀寫,不使用buffer cache,需做這樣的設置
iflag=direct,nonblock oflag=direct,nonblock

dd 命令三種經典使用方法:

dd if=/dev/zero of=test bs=64k count=16k  是不准確的,可能有數據存在內核緩存中,沒有同步到磁盤上。對於關鍵數據應該加上fsync標識,防止關鍵數據丟失;

dd if=/dev/zero of=test bs=64k count=16k conv=fsync 較為穩妥,但是時間用時較長,他在dd結束前會寫數據和文件元數據到磁盤;

dd if=/dev/zero of=test bs=64k count=4k oflag=dsync or sync  每寫一次就寫一次磁盤,在實際操作中,可以聽到磁盤響聲,用時較長;

更多dd 命令詳細使用方法,可以參考man pages. dd 命令可以用來制作啟動盤,請參見博文 linux (fedora 28) 制作啟動U盤,啟動盤 

SSD 性能測試:

PCIe-SSD Optane: dd if=/dev/urandom of=./optane.bin bs=256k count=102400  (順序寫 25GB的隨機數據) 

M.2-STAT-SSD: dd if=/dev/urandom of=./m2sata.bin bs=256k count=102400  (順序寫 25GB的隨機數據) 

M.2-NVMe-SSD: dd if=/dev/urandom of=./m2nvme.bin bs=256k count=102400  (順序寫 25GB的隨機數據) 

HDD: dd if=/dev/urandom of=./sata.bin bs=256k count=102400  (順序寫 25GB的隨機數據) 

SSD性能參考鏈接:

https://ssd.userbenchmark.com/ 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM