私は64GのRAMとたくさんのディスクスペースを備えたdebian-64で専用のDBデーモンを実行しています。ディスク上のハッシュテーブル(mmaped)を使用し、通常のwrite()呼び出しで実際のデータをファイルに書き込みます。本当に多くの更新を行うと、mmapの大部分がダーティになり、ページキャッシュがそれをディスクにフラッシュしようとします。これにより、ランダムな書き込みが大量に発生し、データファイルへの通常の(順次)書き込みのパフォーマンスが低下します。 。
ダーティページへのいくつか(またはすべて)の変更が更新ごとに1回ではなく一度に書き込まれるため、mmaped領域のページキャッシュフラッシュを遅らせることができれば、パフォーマンスが向上します(実際には最悪の場合)。もちろん、それはとにかく多くの変更を集約します)。
だから私の質問:メモリマップト領域のページキャッシュフラッシュを遅らせることは可能ですか?または、通常の書き込みを優先することは可能ですか?または誰か他のアイデアがありますか?madviseとposix_fadviseは何の違いもないようです...