PostgreSQLのバージョン:

backend_flush_after

backend_flush_afterバイトが単一のバックエンドによって書き込まれる度に、OSが記憶装置に書き込むことを強制します。このことにより、カーネルのページキャッシュが持つダーティデータの量を一定量に制限し、チェックポイントの最後にfsyncが実行される際、あるいはバックグラウンドで実行される大きなバッチの中でOSがデータを書き出す際に性能の急激な低下を招く可能性を減らします。多くの場合これによってトランザクションの遅延を大幅に少なくなりますが、あるケース、特にワークロードがshared_buffersよりも大きく、OSのページキャッシュよりも小さい時には性能が低下するかもしれません。この設定が無効なプラットフォームがあります。有効な設定値は、この強制書き込み機能が無効になる0から、2MBまでです。デフォルト値は0です(すなわち書き出し制御を行いません)。(BLCKSZが8kbでなければ、最大値がBLCKSZに比例して変更されます。)

推奨事項 [EN]

Unless you have time to tune memory flushing behavior and test for improvements/regressions

件のコメント