`dd` 本質為區塊複製工具,測試磁碟效能關鍵在於**寫入快取處理方式**。四種常見參數組合對應四種同步語意,結果差異極大 (最高可達 10 倍)。

| 指令 | 同步機制 | 實測速度 | 解讀 |
|---|---|---|---|
| `dd bs=64k count=4k if=/dev/zero of=test` | **無同步**,僅寫入頁面快取 (Write Cache) | ~198 MB/s | **虛假高速**:實際未寫入磁碟,僅進記憶體,無參考價值 |
| `dd bs=64k count=4k if=/dev/zero of=test; sync` | 指令結束後**獨立執行 sync** | ~513 MB/s | **同樣虛假**:`sync` 執行時 `dd` 已回報速度,未計入真實寫入時間 |
| `dd bs=64k count=4k if=/dev/zero of=test conv=fdatasync` | 指令結束前**執行一次 fdatasync** (資料同步) | ~95.7 MB/s | **真實寫入速度**:含資料進快取 + 強制落盤,最接近實際應用 |
| `dd bs=64k count=4k if=/dev/zero of=test oflag=dsync` | **每個區塊 (64k) 皆同步寫入** (Direct I/O) | ~78.9 MB/s | **最嚴格/最慢**:模擬資料庫同步寫入 (WAL)、關鍵任務負載,繞過快取 |
dd if=/dev/zero of=test bs=64k count=16k oflag=dsync
實測:**56.8 MB/s** (1.1 GB / 18.9s)。