Anyone want to join me in compiling a guide to Meteor performance tuning? It seems the information is scattered around everywhere. Would be nice to pull what we can together and perhaps submit it to the Meteor Guide.
Presently I have an application which is just getting slower and slower. I suspect the problem is with the database–that’s the only thing that I’m sure is changing over time–but I suppose it might also be an issue with Galaxy. I’m not using much CPU, and my memory usage is less than 50%, but could there be some other Galaxy bottleneck related to network or connections?
I don’t want this to be only about my problems. But I think whatever I learn about my performance issues might be worth sharing. And even more value could be provided by combining it with any other performance troubleshooting best practices.
Broad categories and topics could include:
- general app design tips as they related to performance
- Galaxy configuration - i.e. container types, considering demographic when choosing a region
- mongodb hosting - i.e. configuration, proximity to application server (Galaxy)
- query design - some of this is definitely documented elsewhere
- indexing your collections
- setting up a CDN
- splitting an application i.e. customer app vs admin app
- understanding mongodb metrics and query profiling
- using kadira to troubleshoot performance issues
Basically I’m going through everything I can find, yet still I haven’t improved performance and I’m not even sure I know where the problem is.
I can see that sessions are growing dramatically.
And index usage / scans are growing rapidly too
So I suspect I need to spend more time analyzing and adding indexes, possibly redesigning queries, limiting fields, refactoring subscriptions and other code. Unfortunately you need a “premium” account a Mongodb Atlas to get access to query profiling tools, and there is no public pricing (so I assume it’s a ‘how much do you got?’ kind of enterprise sales process a.k.a. if you have to ask you can’t afford it). Anyway I wrote them and am waiting for pricing. I’ll report it here once they tell me.