Hi @Sasa_Trifunovic welcome to the community!
At a glance, I see from your mongostat output that your dirty%
numbers are more than 20%. At this level, the server will stop processing incoming commands and will try extremely hard to flush those dirty pages to disk.
The key values of dirty%
are:
- At >5%, it will try very hard to flush dirty pages, and you should see some slowdowns in responsiveness.
- At >20%, it will stop processing incoming work to flush dirty pages, and you should see the server stalling.
So although you don’t see any operation in progress in mongostat, I suspect you’ll be seeing the disk fully utilized at this point, since the server is busy processing the backlog of work.
As to what caused this, I believe there are two main things:
- It’s a sign that you’re putting more work than what the hardware can handle. Provisioning a larger hardware should mitigate this.
- Setting
transactionLifetimeLimitSeconds
back to its default value should also mitigate this. Default value is 30 seconds, and setting this to 900 (30 times its recommended value) will incur increased memory usage during heavy transaction usage.
Best regards
Kevin