Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rfc(feature): Per Category Abuse Rate Limiting #87

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

JoshFerge
Copy link
Member

@JoshFerge JoshFerge commented Apr 21, 2023

TODO. Rendered RFC

@JoshFerge JoshFerge force-pushed the rfc/per-category-abuse-rate-limiting branch from 5394c2c to eea4285 Compare April 21, 2023 00:42
@JoshFerge JoshFerge marked this pull request as ready for review June 8, 2023 00:18
@JoshFerge JoshFerge marked this pull request as draft June 8, 2023 00:19

# Supporting Data

There have been several customers that hit this rate limits, and we've had to work around these issues. It has caused a lot of confusion internally, as it is not well documented / well known within the company.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote an internal doc on our nginx abuse limits here: https://www.notion.so/sentry/NginX-Anti-Abuse-Layer-cb5712c0d63e41ffad30d36cf47ecef3
This could probably be broadcast better, idk how many people are aware of this


## Option C:

Simply increase our global rate limits, and rely more on Relay for the per-product rate limiting. Also attempt to make these rate limits show up in the stats page so there is more visibility into when this happens.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right now we have the option to add orgs to a 'VIP list', which raises their ratelimit from 500 events/sec/project to 50,000 events/sec/org (internal document here). The VIP list can be found in a private repo here (we've added a lot of our largest orgs to the list in the last month).

There's been talk in the SRE team about either
A. making 50k/sec/org the global default for every org, or
B. just ripping out NginX and letting Relay deal with all ratelimiting
but nothing's been planned yet. If this is something you'd be interested in, I'd recommend reaching out to Khanh and letting him know about this so it gets back on his radar.


## Option A:

Add information about the request to either the querystring, HTTP headers, or url-route, and use these in our Nginx config to do per-project rate limiting.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This came up in talks with ingest once, but there was a reason why we still don't do it (I forget why but can ask someone for more info).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants