We've ben hitting 429s when fetching images from our mobile app in development.
The app involves fetching a large number of apps to present to the user. We currently follow these rules
- maximum of 5 requests per 1.2 second window
- maximum of 5 concurrent requests
- only fetching thumbs
- pass a proper UA
- backing off when given a 429
- caching images client side
No matter what I've done the user ends up 429'd. This is very detrimental to the user experience.
I'm wondering if there is anything that can be done to improve the situation. Looking at https://wikitech.wikimedia.org/wiki/Robot_policy it seems I should reduce to 2 concurrent requests. I was told there were limits on a per image per second basis but that isn't documented there. Though I could reduce the thumb size further if that would help.
This ticket is an extension of the slack conversation at https://wikimedia.slack.com/archives/CTFK3B423/p1770756834733819