Glen_Miner
(Glen Miner)
3
Our bug report turned into a support ticket that was closed because we don’t have a support contract and we were directed back here. 
However, along the way, Chris Kelly pointed out a long-shot hunch that was actually correct:
In Mongo 5 minSnapshotHistoryWindowInSeconds changed from 5 seconds to 5 minutes.
We did some testing: we re-upgraded to 5.0, saw the checkpoint times, checkpoint sizes, and cache activity increase dramatically as before. Then we slowly decreased minSnapshotHistoryWindowInSeconds until we saw the same performance as we did in 4.4. For us the magic number was 30 seconds.
db.adminCommand( { setParameter: 1, minSnapshotHistoryWindowInSeconds: 30 } )
run on each member of the replica set and then made durable in /etc/mongodb.conf
setParameter:
minSnapshotHistoryWindowInSeconds : 30
I found SERVER-47855 which discussed why the default of 300 seconds was selected but it wasn’t clear to me what the risk of going low again.
Our plan is to upgrade the rest of our clusters to Mongo 5 shortly, reduce the window to 30 seconds (or whatever value is needed to match 4.4 performance), then roll out hardware upgrades and see if we can’t increase the window size again closer to the defaults.