How to Prepare a Magento Site for Traffic Spikes: A Case Study on Ssekodesigns.com

Posted by | March 05 | E-Commerce Websites, Magento

Sseko Magento Site Speed Case Study

 

The Challenge:

 

Sseko Designs, one of Forix’s clients, is more than an e-commerce fashion brand. It has a vision to promote ethical fashion. Sseko Designs supports women in Uganda by employing them to make beautiful sandals and providing a means to pay for college education.

Sseko was soon to be featured on the show Shark Tank. Shark Tank, a competitive reality TV series, has aspiring entrepreneur-contestants make business presentations to a panel of “shark” investors. Being on this national show would be great exposure for the brand. However, based on viewership stats on the show, Sseko could easily see a traffic spike of 30 times more than their Magento site was equipped to handle. Magento is also slightly notorious for slow site speed if not optimized correctly. This dream come true could quickly become a nightmare if the website went down. The opportunity could not be wasted, and downtime is never an option.

Spoiler Alert: Despite an over 1,000% increase in traffic on the day of airing, Sseko’s Magento site not only handled the surge perfectly, but additional optimizations were able to reduce page load times by half.

 

The Solution:

 

Forix teamed up with Bulletproof to ensure that Ssekodesigns.com didn’t crash during this huge opportunity. Michael Baker at Bulletproof was responsible for creating and configuring the server environment and monitoring the site during the launch. Below are the solutions that were implemented:

 

  1. Upgrade servers to be HVM rather than paravirtual – By changing the Server Instance to c4.xlarge, this allowed us to take advantage of Amazon’s Enhanced Networking. Amazon’s Enhanced Networking provides a much higher throughput to support the workloads of the project.
  2. Migrate to Nginx from Apache – Apache slows down under heavy load because of the need to create new threads and processes for each connection. Nginx does not create new processes for each web request, instead it handles connections asynchronously using a pre-determined number of threads. Each connection can handle many simultaneous connections, allowing improved scalability under heavy traffic.
  3. Create an Autoscaling group to launch servers on demand – In preparation for the broadast, Bulletproof launched additional instances of the site to disperse the high volume of incoming requests. As processing power, memory, and network utilization were consumed, the auto scaling group automatically launched additional instances to keep the site stable and fast.
  4. Utilize Amazon Cloudfront CDN – A CDN, also known as a Content Delivery Network, improves speed and scalability by spreading static content such as images, CSS, and JavaScript to servers throughout the world, this improves response time by geographically locating the data closer to the users, and taking strain off of the web server. Bulletproof also pre-warmed the CDN’s cached content, as well as cached content in Magento to ensure that as many requests as possible were pulled from cached sources during the broadcast as possible.
  5. Implemented Full Page Caching in Magento CE – Full Page Caching comes standard with Magento Enterprise, but Ssekodesigns.com is currently on Magento Community Edition.  In the Community edition, an extension is required to cache full page content. Forix implemented a full page caching extension, and served that cached content using Redis.
  6. Bulletproof created a static html version of the homepage, and served that static content from the CDN. This dramatically reduced the resources required for the page that would receive the most traffic
  7. Move to Redis – Redis is a highly scalable key-value data store. Unlike the default file system caching of Magento, the entire data set is stored in-memory. This makes caching with Redis extremely fast. In addition moving sessions and caching to Redis reduces requests to MySQL, improving database response by serving requests faster than MySQL could otherwise. Before the airing, Bulletproof launched additional Redis nodes, and managed them using a Redis cluster. This leveraged the speed of Redis across multiple instances, further improving scalability.
  8. Pre-warm the Elastic Load-balancer – It is also key, when expecting a large spike in traffic, to request Amazon to pre-warm the elastic load-balancer. This allows Amazon to pre-configure the load-balancer for expected capacity ahead of time.

 

The Results:

 

The Traffic Spike:

 

sseko traffic graph

 

 

 

Site Speed:

Sseko site speed

 

Compared to the previous weekend, Ssekodesigns.com site sessions during and after airing on Shark Tank increased by 1,173%.

Compared to the previous month, Sseko’s average page load time decreased over half, despite the huge spike in website visitors.

 Sseko compared to last month

 

 

Conclusion:

 

With a lot of pre-planning and work with Bulletproof, Sseko’s website was able to withstand a huge increase of traffic and even improve performance. Magento is known for being a bit sluggish, but with the right modifications, any Magento site can be optimized for site speed.

Ben Bohannon, co-founder of Sseko Designs, also had a chance to answer a few questions from the Sseko side of preparation for the airing of Shark Tank:

What sort of work was involved from a marketing/staffing/inventory side to prepare for the broadcast?

A lot when into the planning!  From a staff perspective we added an additional Customer Care role.  We wanted to make sure that new potential customers or people interested in the Sseko mission had a great experience with our team.  We had our online marketing team prep our community, and encourage them to watch the show and show their support for #teamsseko.  The night of the event we were following every major #sharktank on social media to make sure we could interact and most often thank new excited customers.

How long had you been planning and scheduling work in preparation for the broadcast, and how was that different than other major special sales, or holiday season preparation?

This was the first time we have every ramped up our environment for a major event.  We knew we needed to optimize our codebase before we even started scaling out our server environment.  We started on optimization work on our site 4 weeks before the show ended up airing, and Bulletproof had 2 1/2 weeks to build out a scalable environment that would be able to manage the influx of users to the site.

What were the most important functions or features of Magento that enabled your success?

This would probably be better answered by Cody at Forix and Michael at Bulletproof!

 

Have your own Magento site speed issues? Contact Forix today for Magento site speed optimization options.

  • Facebook
  • Twitter
  • Google Plus

Our Clients


We are obsessed with our clients' goals, and we move mountains to achieve their objectives. Our passion for achievement is what drives us and our customers alike.