0

My team and I recently switched a relatively large MongoDB deployment (0.5T originally) onto AWS DocumentDB. Strangely, DocumentDB is taking up way more resources than I think it should. On our old cluster we never went over 1500 IOPS, but now we're well over 50k in AWS, which is terrifically expensive. Also, the storage size has ballooned to 2T - almost as if the data were no longer compressed at all (WiredTiger would have been compressing things in the old cluster).

What could be happening here? As far as I know there were no code changes. Are there any tools I could use to figure out what the IOPS are being used for? Are there other unique sources of I/O usage that I might not be thinking of? A >10x jump seems totally crazy to me.

ZECTBynmo
  • 3,197
  • 3
  • 25
  • 42
  • DocumentDB does not support data or index compression, so that explains the 2T. My best theory about the IOPS at the moment is that the increased data size is also affecting the cluster's ability to use in-memory cache, so it's forced to hit disk a lot more (somehow for both reads AND writes). – ZECTBynmo Jul 22 '20 at 20:49
  • DocumentDB is its own product, what is the basis of your expectations that it would perform as MongoDB does? – D. SM Jul 22 '20 at 21:18

1 Answers1

3

If you mean the VolumeWriteIOPS as reported by the cluster of your documentDB then the reported value is actually not the write operations per second. In AWS the VolumeWriteIOPS are reported as a total for a 5 minute interval, not an average. So to get the actual billed volume write IOPs (per second) you would have to divide VolumeWriteIOPS by 300.

You can scroll down this table to find the explanation for the VolumeWriteIOPs. https://docs.aws.amazon.com/documentdb/latest/developerguide/cloud_watch.html#w150aac29c23b9c11

After discovering the above documentation I thought you might have had the same problem. My original question: AWS DocumentDB: What is the difference between instance writeIOPS and cluster volumeWriteIOPS and why is the volumeWriteIOPS 100x the writeIOPS?

  • 2
    Please phrase this as an explained conditional answer, in order to avoid the impression of asking a clarification question instead of answering (for which a comment should be used instead of an answer, compare https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead ). For example like "If your problem is ... then the solution is to .... because .... ." – Yunnosch Jul 20 '21 at 08:13