Linux

磁碟寫入速度遠低於讀取速度

  • January 2, 2013

我有一個執行 CentOS 的 VPS 伺服器(WiredTree)。

在遇到一些性能問題後,我使用以下腳本創建了一個簡單的磁碟讀/寫速度基準測試:

echo Write to disk
dd if=/dev/zero of=test1 bs=1048576 count=2048
echo Read from disk
dd if=test1 of=/dev/null bs=1048576

這是一個範例輸出:

[bizwayz@host perf]./benchmark
Write to disk
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 11.2601 seconds, 191 MB/s
Read from disk
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 0.789302 seconds, 2.7 GB/s
[bizwayz@host perf]./benchmark
Write to disk
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 3.69129 seconds, 582 MB/s
Read from disk
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 0.789897 seconds, 2.7 GB/s
[bizwayz@host perf]./benchmark
Write to disk
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 9.56615 seconds, 224 MB/s
Read from disk
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 0.882664 seconds, 2.4 GB/s
[bizwayz@host perf]./benchmark
Write to disk
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 3.52512 seconds, 609 MB/s
Read from disk
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 0.784007 seconds, 2.7 GB/s

我的問題是寫入速度比讀取慢得多是否正常。

您正在執行 VPS 伺服器。這意味著您的物理機器上還有其他客戶端,它們使用磁碟的方式會影響您查看讀寫性能的方式。

通常在 RAID10 上,您將擁有大約 1/2 的寫入速率作為讀取速率。但是,由於有很多未知變數,可能會有另一個客戶端對磁碟進行大量寫入,這就是您看到寫入速度更差的原因。

與他們一起開票不會有什麼壞處,但是使用 VPS,這就是您通常會看到的。VPS 是為了方便和價值,而不是為了性能。

編輯:可以肯定的是,記憶體在這裡是一個問題,但我的觀點仍然適用。

請務必使用 fdatasync 命令執行 dd 命令,以確保它實際上將文件數據刷新到磁碟,而不僅僅是核心預設執行的記憶體。IE:

dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync

引用自:https://serverfault.com/questions/459793