How can my library mitigate throttling in Summon?
- Product: Summon
Question
How can my library mitigate throttling in Summon?
Answer
Rate limiting for Summon has been in place for a few years to prevent Denial of Service attacks. Most institutions never come close to hitting the limit, however we do see it happen from time to time and will work with your library to find a solution.
The typical rate-limit error that displays in the Summon UI for users is "There were too many requests received from your client. This request will be ignored." or other 429 client errors.
What you can do
- Confirm that your system has a good robot.txt file in place.
- Helps prevent allowing a bot into the system to index pages or scrape content which could result in your site being severely throttled.
- Even sites that have a good robot.txt file in place have had issues where the location changed and they did not update their systems to accommodate for this.
- Proper use of the API.
- Confirm your application adheres to the Terms of Use for the Summon API.
- For example, an application built on top of the API that floods the system with queries will violate the Terms of Use and trigger either a local or global throttle.
- Avoid a bento box approach.
- We rarely see anyone hit the throttle at 14 queries per second, however, a bento box API implementation of Summon could quickly surpass the 14 queries per second limit since most bento boxes employ 2-4 simultaneous queries to Summon.
- If you have your bento box set to four queries to Summon, it takes only 2 users searching simultaneously to trigger the throttle.
- A possible solution in this situation would be to build in a delay / queue for your bento queries.
- Article last edited: 05-May-2017