How We Helped a Client Receive Over 1,000 Orders in Less Than 2 Hours
One of our ecommerce hosting clients contacted us a few weeks ago, excited about an upcoming opportunity. Their company was going to be featured on Good Morning America in the popular segment “Deals and Steals“. We have worked with clients who have appeared on The Today Show and Oprah, so we had a good idea of what to expect.
Two Things Were Needed
In order to survive (and thrive) under very heavy traffic, we needed to help them with two things:
- 1. A Dedicated Managed Server to handle the onslaught
The client was using ShopSite for their ecommerce application. This was a key component, as ShopSite is very lightweight under heavy traffic, creates static html pages, and the cart can handle large traffic and multiple orders per second without any issues.
Tweaks That Make a World of Difference
Without spending a small fortune, or re-working the way a site is designed, a few small tweaks can go a long way to handling heavy concentrated traffic:
- Converting popular pages with dynamic (PHP) code to static html pages.
- Converting image/js/css calls to use the CDN
- Adjusting server settings to maximize traffic while minimizing bottlenecks and “crash” scenarios.
The client converted their most popular pages that had a lot of PHP code in them to static html pages for the event. This made a huge difference. They also made sure they called as many images and js/css files from the CDN to reduce overall traffic to the server.
We here at LexiConn gave them a powerful enough server (Quad-Core CPU, 12 GB of RAM) and we adjusted many webserver settings and server parameters to scale well.
Wheeling and Dealing
Just before 9 AM, the client’s product was featured. I had the TV on in the background, as I love watching the traffic ramp up shortly after a product appears. Within seconds, thousands of people started hitting the site. The webserver (Apache) spiked up to 900 processes, but everything was stable and still quite snappy. No crash, no long delays or timeouts. Things were off to a good start.
We started to notice that memory was being eaten up at a faster than expected pace, even when traffic dipped a little after the surge. A quick look at the web access logs highlighted the culprit. A WordPress blog page that explained their popular product was being hit a lot. This page wasn’t optimized for static viewing, so it was using more resources than expected.
To combat this memory situation, we issued a few quick graceful restarts of Apache to reclaim memory. This was only needed a few times during the first 10 minutes to keep things stable.
Holy Orders Batman!
Within a few minutes, orders started rolling in. At its peak, we were seeing 3-5 orders PER second. The ShopSite ecommerce software handled this in stride, easily processing the orders with little overhead in terms of CPU or memory consumption.
In just over an hour, more than 1,000 orders had been placed successfully! The show re-aired in the Central, Mountain, and Pacific time zones. Traffic spiked each time, but it was half the level of the original East Coast airing.
The event was a success in terms of handling the influx of traffic and shoppers without major downtime. We managed to keep things running smoothly, allowing shoppers to place orders without delay or problems.
We collected more data about how a dynamic WordPress page can affect memory consumption, and we have developed more procedures and planning to better adjust webserver parameters to optimize the serving of web pages.
I’ll be writing a post in the near future with a checklist of things to do when expecting large traffic to your website.