9

Why in the world would Stack Exchange rate limit searches?

I was just trying to do a search to find a dupe I knew was out there, and having a hard time between my typos and the arcane SE mechanism for ANDing search terms, got hit with this message:

You can only perform 6 searches within a 60 second window, please wait a moment and try again.

Could we please eliminate this rate-limit? Seems like it would simplify the code-base not to have it.

2

3 Answers 3

8

Searches are very resource intensive; unbounded searches is a quick DDOS vector for the network.

If you can't live within the very generous 6 searches per 60 seconds allocation, I suggest using one of the many web search engines as a free, public alternative:

  • Google
  • Bing
  • DuckDuckGo
8
  • 1
    @Jeff, just like with all the other denied search requests, the question is why can't we do it better? Jun 29, 2011 at 22:42
  • 3
    @lance everything has to be rate limited; has nothing to do with 'better' but 'protecting the experience for everyone'. codinghorror.com/blog/2009/02/… aka why can't 7-11 make the experience better for students in the store? is the wrong question, my friend. Jun 29, 2011 at 22:44
  • 2
    @Jeff, good article, but we could still up the limit. DDOS will do A LOT more than 6/minute. Jun 29, 2011 at 22:48
  • 3
    @Lance - 6/minute x millions of users on a botnet could potentially be an issue. Go get a sandwich or something.
    – JNK
    Jun 29, 2011 at 23:15
  • 8
    It would not be possible to launch a DDOS attack if you leave the anonymous search limit as it is and add a much higher per-user rate limit for users with rep above some threshold. The attackers would need access to many hi-rep accounts to exceed what they can already do with no accounts. Jun 30, 2011 at 1:17
  • 9
    @Jeff but as @Rick points out, unlike the store owner, you have the means to identify trustworthy users. Why not relax the restriction a bit for users above 500 or 1000 rep?
    – Pekka
    Jun 30, 2011 at 7:42
  • 1
    If you can only handle 6 searches per user per minute, switch to something that scales better, like Rails. Jul 7, 2011 at 1:24
  • @Andrew It has nothing to do with hardware or software performance... If you read the comments above you will see that the limitations are there as a preventative measure.
    – chown
    Jul 10, 2012 at 2:48
7

There is now no rate-limiting on searches with the new elasticsearch, as per here.

As per Pang's comment, looks like the limit is actually 30 searches in 60 seconds.

1
5

If all 20,000 active-ish users submitted six queries per minute or ten queries per minute, I imagine the site would be pretty well hammered with either setting.

Perhaps the scheduling algorithm could be more like an OS CPU scheduler: grant upwards of twelve to twenty queries per minute per user at idle and scale down to six per minute per user when under moderate load. (>60 searches in the last minute? >100 searches in the last minute?) You could scale even lower if you pass a boundary that suggests more than 100 accounts are involved in DDoSing via searches.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .