I am doing a load test for Discourse.
Here is my scenario:
- Take Discourse Meta for example. I append a api_key (generated from admin portal) as a query string. So the url I test is: https://meta.discourse.org/latest?api_key=XXXXX;
- I remove the api rate limit by disable rate.limit.template in app.yml and set DISCOURSE_MAX_ADMIN_API_REQS_PER_KEY_PER_MINUTE=10000;
- Run the url with multiple agents.
Here is the result:
And the CPU of postgreSQL reach 100%.
This is the result without api_key as query string:
As far as I know, the anonymous request will get cached result from Redis, while the authenticated request will not. But the load test with authenticated request is lower than my expectation.
Is there any wrong in my steps of load test? Or setting I missed?