以下測試基於win7內安裝的vbox虛機內進行。
vbox-vm掛載了7.2k disk作為本地系統盤,掛載了ssd 8G空間作為mount /mnt/data /dev/sdb
今天順便了做個一個簡單的小測試,在此記錄。
此結果僅代表我自己的筆記本硬盤性能情況。
fio命令使用類似以下的命令測得,具體你自己改吧
fio -filename=/tmp/test -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=1M -size=20G -numjobs=50 -runtime=60 -group_reporting -name=test
結果如下:
| 測試命令 | 硬盤類型 | 方式 | 塊大小 | 帶寬 | IOPS |
| FIO | SSD | seq_write | 1M | 251MiB/s | 251 |
| FIO | SSD | seq_read | 1M | 201MiB/s | 200 |
| FIO | SSD | randread | 4k | 75.5MiB/s | 19.3k |
| FIO | SSD | randwrite | 4k | 2.76MiB/s | 707 |
| FIO | 7.2K Disk | seq_write | 1M | 79.4MiB/s | 79 |
| FIO | 7.2K Disk | seq_read | 1M | 211MiB/s | 211 |
| FIO | 7.2K Disk | randread | 4k | 2.10MiB/s | 538 |
| FIO | 7.2K Disk | randwrite | 4k | 3.28MiB/s | 839 |
同時進行了dd命令測試
測試命令如下:dd if=/dev/zero of=/tmp/abc bs=1M count=7000 conv=fsync
測試結果如下:
| 測試命令 | 硬盤類型 | 方式 | 塊大小 | 帶寬 |
| dd | SSD | seq_write | 1M | 210 MB/s |
| dd | SSD | seq_read | 1M | 255 MB/s |
| dd | 7.2K Disk | seq_write | 1M | 93.0 MB/s |
| dd | 7.2K Disk | seq_read | 1M | 75.8 MB/s |
順便回顧了一下dd的寫參數:
conv=fsync man手冊解釋Synchronize output data and metadata just before finishing. This forces a physical write of output data and metadata,
中文解釋:dd完成前同步數據和元數據
oflag=dsync man手冊解釋Use synchronized I/O for data. For the output file, this forces a physical write of output data on each write.
中文解釋:每一次寫都得等到這一次寫寫到了磁盤才進行下一個寫,類似數據庫操作,比較慢。
oflag=sync,跟oflag=dsync類似,只是多了同步元數據。
