File d'attente "une entrée, une sortie" (One In, One Out Queueing)
Want to set a limit to the number of active sessions on your site? Introducing the One In, One Out cap feature.
To set your One In, One Out cap, just go to your domain settings page, switch on the One In, One Out feature, set how many people are going to be allowed onto your website, and the rate will be respected until it meets the threshold. At that point, CrowdHandler will allow one user in when one user comes out.
One In, One Out and the ingress rate
Wait a minute... doesn't CrowdHandler already use a One In, One Out system?
People are so familiar with the concept of One In, One Out, many tend to presume that's how the CrowdHandler queue works. In fact, out of the box, CrowdHandler works by using a simple ingress rate: that is, you choose how many new users you want to be able to join your site during any single minute.
This isn't the same as capacity; you're not setting the maximum numbers your site can handle. Instead, think of it more like a funnel. You might have hundreds or thousands of people trying to make a request to your site over a period of a minute, but if they all arrived at once, you would be overwhelmed. So you limit the rate to 100 (or use the slider to choose a rate) and that's how many new users CrowdHandler will allow onto that resource, or URL, or page during a single minute.
If the number of users trying to access your site exceeds your acceptable rate, CrowdHandler will start redirecting them to the waiting room, from where they will then be allowed back onto the site at the acceptable rate. In other words, the waiting room engages when it's needed and doesn't when it’s not.
The One In, One Out cap works in addition to the rate. If you switch on One In, One Out then, once your website meets the threshold, new users will only be allowed in as others come out.
Cache warming, or 'why it's important to set the rate'
Even when using One In, One Out, the ingress rate is still important because it keeps people from flooding the site and causing problems. Yes, even if you think your site can handle big numbers.
Many people have a simplistic idea about how many simultaneous users their website can handle, and often this is based on things like load testing. Let's say you've modelled some user journeys and you think your website can handle 10,000 people. Well, I have news for you: it almost certainly can't handle them if they all arrive at the same time! There is a big difference between a hundred users a minute building up to a thousand users, and a thousand users all turning up the moment you open your ticket sale.
The reason for that is primarily to do with caching. When you get a steady stream of users, all doing the same kind of stuff, that means a lot of numbers, pages, or behaviours end up cached in the layers of your application. This enables what is known as cache warming: the website can “warm up” before it gets to full tilt. However, if your thousands of users all arrive instantly, they slam the back end without allowing things to get warm. And that's when most sites struggle.
Setting a sensible ingress rate allows a smaller number of users in at a time, which in turn allows the website to warm up.
So adding a One In, One Out maximum does not replace the rate. However, it does mean you may be able to be more liberal with your rate, in the knowledge that the cap will kick in at your limit.
Checkout busting
CrowdHandler can offer the One In, One Out feature because, unlike other providers, we continue to track user behaviour after the queue.
And this is why we can also offer “checkout busting”: the ability to automatically kick people out once they have completed their purchase. (After all, no cafe owner wants people taking up tables and hogging the free wifi when there's a queue of people out the door asking for coffee, do they?)
These features don't have to go hand in hand, but they often do, so we've put them together on your domain page. Next to the One In, One Out checkbox and number, you'll see a text field where you can put in the URL of your confirmation page (or multiple URLs, if your confirmation page is particularly fiddly).
Then, once someone finishes their purchase, checks out and arrives at that URL, we will “bust” their CrowdHandler session. If their next click is on a protected item, they'll find themselves back in the queue. If you have One In, One Out running, this is the point at which someone else will be allowed onto the site.
Checkout busting can be particularly useful for a busy site because it gives a more realistic idea of how many users are active on the site – it forces sessions to end after purchase, rather than waiting for inactive sessions to time out, which helps to keep the queue moving fast.
It’s also possible to activate checkout busting without One In, One Out. You may decide you want to do this to avoid double dipping – in other words, if you're selling tickets and you've got a limit on how many tickets people can buy at once, checkout busting will mean that someone who's already been through the queue to check out will not be able to return immediately to buy more tickets in the same session. They will have to return to the queue.