Skip to content
Browse docs

Spike mode

A soft queue for the morning everyone arrives at once: how it works, when to turn it on, how to find a safe admission rate for your hosting, and what buyers see.

Most ticketing sites fall over at the moment everyone arrives. Spike mode is for that moment. Turn it on before a big on-sale and buyers who arrive together get a numbered place and a waiting page inside your theme, then go through to the seat picker a few at a time, at a rate your hosting can take. The site stays quick for everyone instead of falling over for all of them.

It lives under TBI Box Office → Spike mode. Leave it off for quiet sales and buyers go straight to the seat picker.

How it works

  • Every buyer who opens the seat picker or the checkout while the queue is on gets a numbered place in line. A serving pointer moves forward at a steady number of admissions a minute; once it passes your number, you are through.
  • A place is a pass for one performance and one window of time. Seats can only be held with a live pass, so the queue cannot be skipped by calling the site directly, and nobody can queue early through a quieter show to jump the line.
  • Nobody joins before sales open. Before the on-sale time the waiting page shows a countdown on the server's clock. At the instant sales open everyone waiting joins at once, and places are drawn at random in the first few seconds, so the fastest broadband does not always win and there is nothing to gain by refreshing.
  • The rate tunes itself. Every half minute it looks at how fast the seat picker's own calls are answering. Slow, and fewer people are let through until it recovers; quick, and it climbs back to the ceiling you set.
  • Waiting costs almost nothing. The waiting page polls a small static file, not PHP, so five hundred people waiting put no load on your hosting.

What buyers see

A waiting page in your theme: their place in the queue, how many are ahead, and a time estimate. Tell me when it's my turn asks for a chime and a notification so they can put the phone down. When it is their turn they are taken straight into the seat picker. A closed tab or a second tab keeps the same place.

Settings

  • Queue buyers. The on/off switch. Turn it on before a big on-sale, and off afterwards.
  • Admissions a minute (ceiling). How many people go from the queue into the seat picker each minute. Run the capacity check to find a safe number.
  • Slow the queue automatically when the server gets slow, and the target response time in milliseconds that "slow" means.
  • Time allowed once through, in minutes.
  • Offer buyers a sound and a notification when it's their turn.
  • Message on the waiting page, optional.

The Right now panel shows the live figures: whether the queue is on, how many are waiting, the current admission rate, how many were let through and joined in the last ten minutes, and the server's response time. Reset the queue clears the line; everyone waiting rejoins from the front, and anyone already through keeps going.

The capacity check

The check finds how many buyers your server can serve in the seat picker at once. From your browser it makes the same call the seat picker makes, with more and more people at a time, and stops the moment responses get slow or the server refuses. It reports what your server can comfortably serve and a suggested ceiling in admissions a minute, allowing about three minutes per buyer to choose. Apply suggested settings writes it into the settings for you.

It takes about a minute and puts real load on your hosting, so run it at a quiet time, never during a sale. It needs a published performance to ask about, and a browser using HTTP/1.1 stops at six connections, so the suggestion is a floor rather than a ceiling in that case.

When to turn it on

Before any on-sale you expect to be busy: a popular show, or a school production where every parent clicks at 9am. Run the capacity check a day or two before, apply the suggested settings, and switch the queue on before the on-sale time. Switch it off once the rush has passed.

Was this helpful?

Still stuck?

Most questions are answered in a minute here. When they aren't, a real person replies.

Tempo customers Send us the question through the support form. The person who built it reads every message. Contact support
Not a customer yet? Demos, pricing and anything pre-sales. Ask before you buy. Ask a pre-sales question