We have a MongoDB cluster (3-member replica set, no sharding), operated on AWS. The application has a very write-heavy pattern.
While the average write IOPS stay under 5k, most writes occur in peaks that happen every 60 seconds, presumably from checkpointing. These peaks are rather around 40k IOPS, which bring the (EBS-backed) storage to its limits and slow down the whole database, with measurable impact.
Apart from providing faster storage in some way, is there a way to reduce the peaks and distribute the writes more evenly in time? I already tried setting
--syncdelay=15, hoping to get more but lower peaks, but first measurements did not show an improvement.
Is there anything that can be done in terms of MongoDB configuration?