Surviving the Boxing Day Sales: Handling Traffic Spikes

December 12, 2025
Profile Image
Written By Neil Batchelor

As a Technical Director specialising in WordPress and web hosting, I help businesses succeed online by boosting website visibility and performance through effective on-site and off-site SEO.

Share with friends:

Welcome to Day 12 of the MyWebHost Advent Calendar! ๐Ÿ›๏ธ

We are halfway through our calendar, and on the last day of Speed! So far, we have built a fast, secure foundation. But today, we need to prepare for the main event. Imagine you own a small shop on the High Street. Usually, you have 10 customers an hour. It is peaceful. The staff can handle it easily. Then comes Boxing Day. You launch a “50% Off” sale. Suddenly, 500 people try to squeeze through the front door at the exact same second.

What happens?

  • The door gets blocked.
  • The staff get overwhelmed.
  • The air conditioning fails.
  • The shop shuts down.

In the physical world, the Fire Marshal shuts you down for overcrowding. In the digital world, your Web Host shuts you down for Resource Overusage. There is nothing more painful than launching a big sale, watching your traffic spike, and then seeing your website replaced by a white screen that says “503 Service Unavailable”. You aren’t just losing sales; you are sending your customers straight to your competitors.

Today, we are going to look at why websites crash under pressure, and how to build a “Digital Queue System” to survive the Christmas rush.

The Invisible Ceiling: Understanding “Entry Processes” ๐Ÿงฑ

Most people think websites crash because of “Bandwidth” (Door #6). Actually, they usually crash because of Concurrency.

Shared Hosting (which most beginners use) has strict limits on how many things can happen at once.

The “Till Point” Analogy

Imagine your server is a supermarket checkout.

  • Your CPU (Processor): The Cashier scanning the items.
  • Your RAM (Memory): The size of the counter where you put the basket.
  • Entry Processes (EP): The number of active card machines.

Most shared hosting plans limit you to 20 or 50 Entry Processes. This means only 20 people can be actively processing a request (like clicking “Add to Cart” or loading a page) at the exact same millisecond.

The Crash: If visitor 21 tries to click a button while the other 20 are busy, the server says: “Sorry, no card machines available.” Visitor 21 sees a 503 Error. To them, your site is broken.

Strategy 1: Aggressive Caching (The Fast Lane) ๐ŸŽ๏ธ

We talked about Caching in Door #10, but for traffic spikes, it is your lifesaver.

If your site is Uncached: Every visitor requires a “Cashier” (CPU) to build the page for them. The cashier is slow. The queue builds up. You hit your 20-process limit quickly.

If your site is Cached: The server hands the visitor a pre-printed flyer (Static HTML). The “Cashier” doesn’t even need to wake up.

  • Uncached Limit: Maybe 50 visitors per minute.
  • Cached Limit: 5,000+ visitors per minute.

The Boxing Day Rule: Ensure your caching plugin (Hummingbird, WP Rocket) is active. Crucially, ensure your Cache Lifespan is set appropriately. During a sale, you want the cache to last as long as possible (e.g., 10 hours) so the server isn’t constantly rebuilding pages.

Strategy 2: The “Waiting Room” (Queue Systems) โณ

If you are expecting a massive spike (like selling tickets to a concert or a limited-edition sneaker drop), even caching might not save you when people hit the “Checkout” button (which cannot be cached).

For this, you need a Virtual Waiting Room. You have probably seen this on Ticketmaster. “You are number 4,500 in the queue.”

It sounds annoying, but it is better than a crashed site.

  • How to do it: Services like Queue-it or CrowdHandler can sit in front of your website.
  • When to use it: Only for extreme events. For a standard Boxing Day sale, this is usually overkill for small businesses.

Strategy 3: Elastic Scaling (The Temporary Expansion) ๐ŸŽˆ

Standard hosting is rigid. You pay for a fixed amount of power. Cloud Hosting (Door #2) is elastic.

Some modern hosts (like SiteGround Cloud or Cloudways) allow “Auto-Scaling”.

  • Scenario: It is 9 AM on Boxing Day. Traffic spikes by 500%.
  • The Reaction: The server detects the load is high. It automatically adds 2 more CPUs and 4GB more RAM instantly.
  • The Result: The site stays fast.
  • The Cost: You pay a few pounds extra for the resources you used during the spike, then it scales back down when the traffic drops.

The “Boost” Button: Some shared hosts (like Hostinger) offer a manual “Boost” button in the dashboard. For a small fee (or free for 24 hours), they unlock 4x the resources for your account. If you know a sale is coming, hit this button beforehand.

Strategy 4: Offloading to the CDN (The Crowd Control) ๐Ÿ›ก๏ธ

We discussed CDNs in Door #11. During a traffic spike, your CDN (Cloudflare/Bunny.net) is your best friend.

If you have a 2MB hero image on your homepage and 1,000 people visit:

  • Without CDN: Your server has to upload 2GB of data instantly. It chokes.
  • With CDN: Your server sends the image once to the CDN. The CDN handles the other 999 people.

Action: Ensure your CDN is active and “Orange Clouded” (Proxied) before you send out your sale email.

The Drill: Stress Testing Your Site ๐Ÿ‹๏ธโ€โ™€๏ธ

Don’t wait until Christmas Day to find out if your site will crash. Break it now, while it’s quiet.

This is called Load Testing. You send fake “robot” visitors to your site to see when it breaks.

The Tool: Loader.io (Free Plan)

  1. Sign up for a free account at Loader.io.
  2. Verify you own your domain (upload a small file).
  3. Create a Test:
    • Test Type: “Maintain Client Load”.
    • Clients: Start with 50. (This simulates 50 people clicking at once).
    • Duration: 1 minute.
  4. Run Test.

Analyze the Results:

  • Success: Did the response time stay low (under 500ms)? Did 0 requests fail?
  • Failure: Did the response time spike to 10 seconds? Did you get “Timeouts”?

If it failed with just 50 users, you are not ready for a sale. You need to improve your caching or upgrade your hosting plan.

Warning: Do not run a load test on a live server during peak hours! You will slow down your real customers. Do it at midnight.

The “Checkout” Bottleneck (WooCommerce) ๐Ÿ›’

If you run an online store, there is one part of your site that cannot be cached: The Checkout and Cart pages. These are dynamic. Every customer has a unique cart.

This is where cheap hosting dies. If 100 people add items to their cart, your server has to do 100 intense database calculations.

How to optimise WooCommerce for Spikes:

  1. Use High-Performance Storage (NVMe): As per Door #8, this processes database orders faster.
  2. Disable Heavy Plugins: Turn off things like “Real-time Cart Backup” or heavy analytics plugins during the sale.
  3. Increase Memory Limit: Ask your host to increase your PHP Memory Limit to at least 512MB (preferably 1GB).

Summary Checklist: The “Sale Ready” Protocol

Before you send that marketing email:

  1. [ ] Cache: Is your caching plugin active and working?
  2. [ ] CDN: Is Cloudflare/Bunny turned on?
  3. [ ] Boost: Does your host have a “Resource Boost” button? If so, know where it is.
  4. [ ] Test: Have you run a mild Load Test to see your limits?
  5. [ ] Backup: Take a full backup immediately before the sale starts.

A crash on sale day is not just a technical failure; it is money pouring down the drain. Prepare your shop floor now, so you can sit back and watch the orders roll in while you finish your turkey leftovers.

๐ŸŽ„ Have You Ever Crashed?

There is a specific kind of panic that sets in when you click “Send” on a newsletter to 10,000 people, and your site immediately goes offline.

Has this happened to you? What did you do? Did you panic, or did you have a plan? Share your war stories in the comments below!

Check back tomorrow to open Door 13!

Share with friends:
Fediverse Reactions

Leave a comment