HttpService limits don't line up with my metrics of how often I'm getting them

In My Movie, we use HttpService for image searching. When there’s problems searching images, it has a direct impact on our player counts–at our peaks, image servers going down dropped our concurrent player counts by several thousands, and fixing it raised them back up. We know this is a bottleneck for our success.

For the past several months we’ve received constant reports of errors in image searching. I’ve only had time recently to look into it, and to my surprise it looks like we are well under the 500 requests per minute limit.

On the left is the P99 of requests being sent every minute. Each color is a separate source of HTTP requests. The highest sum of these on this image is about 60. If we assume that Roblox’s reset timer is offset from mine, it can at best be double, 120.

The right graph is the number of times that an HTTP request is throttled for exceeding limits.

Furthermore, this data is based off of only servers which have this new tracking. At time of writing, these charts are based on only about 150 people, mostly on small private servers (which are definitely not hitting the limit).

Alongside this tracking, I also count the total sums of requests that I’ve sent in the past 60 seconds at the time of the limit being hit.

The sum of requests here makes sense given the low player counts of the servers on the new version right now, I believe them more than I believe there’s a large amount of missing untracked requests.

Expected behavior

The limit of HTTP requests is 500 per minute.

A private message is associated with this bug report

Ah looks like someone else reported it here.