We’ve setup a Kubernetes cluster containing our Meteor application (one worker doing aggregations, and several webapps which are the one actually used by the clients).
While investigating an issue with MongoDB failovers i tried to stress the MongoDB using GitHub - mongodb/mongo-perf: performance tools for mongodb (simple writes), i noticed that the CPU load on the MongoDB reflects itself onto all pods.
Meteor’s “live data everywhere” feature uses MongoDB’s oplog, any updates to the database must be processed by each Meteor server to update logged in users mergeboxs, which push updates to the client. Meteor publications are live database cursors - not static collections.
So without knowing the details, mongo-perf is writing a bunch of stuff that needs to be processed by Meteor servers. If mongo-perf is modeling a real-world load, then I’d guess the Meteor application needs beefier hardware or a refactor for performance.