Global rate limit in discourse

Hi,

We have upgraded Discourse to version 2.2.5.
This is about limitations on the number of posts per user per day.

Our default setting is:
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE : number of requests per IP per minute (default is 200)
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS : number of requests per IP per 10 seconds (default is 50)

we would like to increase to:
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE : 1000
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS : 500

Do you think there is an impact on the discourse server and performance?
Because some users started to complain they reach the limit on the number of posts sent.

Thanks

I do not think this is the rate limit being discussed. Provide screenshots of the limiter being hit please or get more details.

It sounds like your users are running into first day user post count limits is my guess.

User gets error like:

01:09:42 {"errors":["You’ve performed this action too many times. Please wait 19 seconds before trying again."],"error_type":"rate_limit","extras":{"wait_seconds":19}}

That is indeed the Nginx per-IP rate limits, are you sure you are not behind a reverse proxy which is incorrectly sending all client IP addresses as the same IP address?

Is it always the same users? Are they trying to use the API?

If it’s not and they aren’t then check the profiles of some affected users, do their IPs look accurate? Are they all the same or similar? If so it’s either a misconfigured reverse proxy or something like Cloudflare being used with the orange cloud enabled without the template specified in the YML.

Yes they are using the same user, to generate a lot of posts per minute (via user API key).
But they now complain they are limited in terms of number of posts allowed for that user.

Do you think it could help if I increase:
DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE : 1000
DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS : 500

1 Like

I had the same problem. I wanted to use the API, but it made such a mistake


I want to be able to set the rate of a particular API for admin
I don’t know how to modify the global rate
I’d appreciate it if you could tell me where it is
I come from china,so My English is bad, very sorry.

we only have a blanked API rate limit, no ability to customize limit per route.

The limits you’re looking for are in the site settings:

  • rate limit create topic
  • rate limit create post
  • rate limit new user create topic
  • rate limit new user create post

Go to https://discourse.example.com/admin/site_settings/category/rate_limits?filter=create to change these.

2 Likes