How would you test the performance of a meteor app with 100 or 1000 users?
I want to simulate n
users concurrently interacting with the meteor app. Any suggestions for a tool or a strategy how to do this?
How would you test the performance of a meteor app with 100 or 1000 users?
I want to simulate n
users concurrently interacting with the meteor app. Any suggestions for a tool or a strategy how to do this?
I have used artillery.io for stress testing.
Refer to the docs for configuring scripts to test your endpoints. You can also use E2E scripts from Playwright as load tests with artillery rules, which is very beneficial for testing a Meteor app.
Consider that both Artillery and Playwright may require the latest Node LTS version. Meteor 2.x uses Node 14.x. To resolve this, you can proceed with any of these:
volta run --node <version> <tool-cmd>
might help you.I’ve been using this: meteor-down - npm
Some things might look old, if you want to go this way I can extract some rewrites from some of my projects.
What I like about it, you can authenticate set concurrency and reoccurrence/frequency. I use Redux actions and I can log the user triggered actions in any route and use those methods to simulate user behavior with Meteor Down
Not sure how familiar you are with load testing so just a few tips when conducting your tests:
don’t run the tests on the same machine as the servers you are testing
make sure the tests are hitting all the pieces you want to measure. For example, if you aren’t using a CDN, the meteor server is also responsible for sending the initial js payload, which you may or may not want to include in your measurements
be kind to your web hosts and let them know ahead of time if you are going to do a large load test. Otherwise, it can resemble a DoS attack and you’ll get inaccurate results due to rate limiting