dd 書き込みおよび読み取りパフォーマンス

dd 書き込みおよび読み取りパフォーマンス

私は最近新しいサーバー(ddを使用)でいくつかのパフォーマンステストを行いましたが、なぜ読み取りパフォーマンスが書き込みパフォーマンスよりはるかに悪いのか疑問に思いました。他のアプローチが必要ですか?

両方のテストのファイルサイズは550 GB、読み取り:秒:3704 MB / s:148

書き込み: 秒単位: 1539 MB/秒単位: 357

書き込みコマンド:

time sh -c "dd if=/dev/zero of=/local/postgresql/bigfile 
bs=8k count=67108864 && sync"

読み取りコマンド:

time dd if=/local/postgresql/bigfile of=/dev/null bs=8k

bash 時間コマンド出力:

real: 61m44.335s
user: 0m12.721s
sys: 10m35.884s

Bonnie++ 結果コマンド:

bonnie++ -f -D -n 0 -u root -d /local/postgresql/

その結果、ファイルサイズはRAMサイズの2倍になります。

書く:

419918K/秒

読む:

~ 187,000K/秒

ベストアンサー1

実際にキャッシュではなくディスクに書き込んでいることを確認するには、書き込み同期フラグでパフォーマンスをテストする必要があります。conv=fdatasync書き込みが完了した後、バッファを強制的に同期させるために使用されます。バラよりここもっと学ぶ。

time dd .... conv=fdatasync

読み取りテストの場合、テスト前にキャッシュを削除します。

flush
echo 3 | sudo tee /proc/sys/vm/drop_caches
time dd ....

おすすめ記事