In it's simplest set up CrowdHandler can be thought of as a rate-limiter for your website.
But the rate is a simple concept that can be hard to understand. In fact trying to explain it, makes it sounds much more complex than it is! Nevertheless, we hear from customers that they find it difficult to understand the exact meaning of the rate. So here’s our most thorough explanation of what it is, how to set it, and what to set it to:
What it is
it’s all of these things:
New users every minute
The simplest way to understand rate, is as the number of new users you are happy to invite onto your site every minute. If you can confidently handle 1,000 users on your site, and they take an average of 10 minutes to complete their user journey, then that rate would be 1,000/10 = 100 per minute.
Number of checkouts your site can handle in a minute
If you presume all or most of those users will ultimately check out, you could think of it as how many checkouts your site can handle in a minute. Often the checkout is the most intensive load element on the website, so working back from peak orders per minute is a good way to figure out how many users you want to feed in each minute.
Users out of your waiting room every minute
If you have just one waiting room — you can also think of the rate as the number of users you will let out of your waiting room every minute. If you are running several waiting rooms in parallel, users will be let out of all of your rooms until the rate is hit in any given minute.
The traffic threshold beyond which you need waiting room protection
If you’re consistently receiving fewer users each minute than you have set your rate — then there is no need for users to wait, and the waiting room will not appear. So if normal traffic is about 10 users per minute, and you can handle a maximum of 50 users per minute, setting your rate to 40 will mean no one will see a waiting room under normal traffic levels. Once your rate raises above 40, the waiting room will appear and start queuing users. Once a queue has backed up, the waiting room will stay in place until the queue has emptied.
What it isn’t
It is not the total number of simultaneous users you can handle
The rate is the number of users joining your site each minute, not the total count of current users. If you want to control waiting room primarily on a one-in-one-out basis, use our one-in-one-out feature. You’ll still need to set a rate, most sites can’t handle going from 0 to 1000 in one minute even if they can handle 1000 users once warmed up. But you can set the rate higher if you are primarily relying on one-in-one-out to control how many get onto your site.
How to set the rate
The rate is not set within your waiting room settings. It's set at the domain level. When you think about it, this makes sense. We're defining the influx of users your entire website can handle. So you'll find the setting in Domain Settings, or -- most obviously, on the Dashboard, when the domain is selected.
What should I set the rate to?
Lower thank you think. No, lower than that. Most of our customers think they can handle much more traffic than they can in reality. A typical transactional website can handle about 20 checkouts per minute, so that would be a middle of the range rate. Unless you’ve confidently done more than that in the past, you might want to start at 10. It’s much easier to raise the rate if you are pleasantly surprised (CrowdHandler allows you to change the rate in real time), just wait until you’ve seen users complete their journeys, and confirm that everything is stable. Starting high and lowering the rate is riskier. It’s much harder to recover a crashed website, and it means the people at the front of your queue are having the worst experience, which hardly seems fair. If your website is struggling you need to set the rate to something really low (like 0!) until it recovers, and then start inching the rate up.
If you don’t want to spend lots of time tweaking rates, look into our autotune feature, which will moderate the rate in real time based on performance feedback from your website.