不均衡なページキャッシュは書き込みアクティビティを好む。

不均衡なページキャッシュは書き込みアクティビティを好む。

私はSMR(Shingled Magnetic Recording)ディスクを使用しています。この手法は、非逐次書き込み操作では正しく行われないことが知られている。

順次書き込み操作は非常に高速です。

fio --name TEST --eta-newline=5s --filename=temp.file --rw=write --size=2g --io_size=10g --blocksize=1024k --ioengine^Cibaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting
...
WRITE: bw=121MiB/s (127MB/s), 121MiB/s-121MiB/s (127MB/s-127MB/s), io=7276MiB (7629MB), run=60217-60217msec

非順次書き込み操作が遅い。

fio --name TEST --eta-newline=5s --filename=temp.file --rw=randwrite --size=2g --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=32 --runtime=60 --group_reporting
...
WRITE: bw=510KiB/s (522kB/s), 510KiB/s-510KiB/s (522kB/s-522kB/s), io=30.1MiB (31.6MB), run=60427-60427msec

比率は237です。

私は以下を使用しています:

echo 30 > /proc/sys/vm/vfs_cache_pressure
echo 100 > /proc/sys/vm/dirty_ratio
echo 100 > /proc/sys/vm/dirty_background_ratio
echo 360000 > /proc/sys/vm/dirty_writeback_centisecs
echo 360000 > /proc/sys/vm/dirty_expire_centisecs
mount -o noatime,nodiratime

rsync激しい活動の間、私は以下を観察しました。

  1. 読み取りcollectl品質は良いですが、書き込み品質は良くありません。
  2. ダーティフィールドは/proc/meminfo3Gを超えず、バフ/キャッシュは12G程度である。

書き込み操作をサポートし、読み取り操作がキャッシュから作成されたページをフラッシュしないように、ページキャッシュのバランスをとりたいと思います。rsync書き込みシーケンスのキャッシュグループ化によってパフォーマンスが向上することを願っています。

そのような不均衡を達成する方法はありますか?私はこれが単にテストのための素晴らしい調整ではないことを知っています。

関連情報