Actually, I have even more :) 128 GB of RAM. I’ve set such settings for page cache:
# 100 MB
vm.dirty_background_bytes = 104857600
vm.dirty_ratio = 40
vm.dirty_expire_centisecs = 100
vm.dirty_writeback_centisecs = 100
And tried 2 GB, 4 GB, 8 GB for shared_buffers size (when I wrote first letter, it was 2 GB). Shared buffers size does not matter with above page cache settings. But it really affects the distribution of checkpoint over time.
Right now test results (for 1000 tps and checkpoint every 5 minutes) look like that:
Thank you very much, Jeff.