mod_perl logo perl icon
previous page: EDDS Tax Management System for Canadian CCRApage up: Success Storiesnext page: iAgora - Study, Travel, Work Abroad - Connecting Internationals

mod_perl deployment at EToys






Embedding Perl in HTML with Mason

Embedding Perl in HTML with Mason

By Dave Rolsky, Ken Williams
mod_perl2 User's Guide

mod_perl2 User's Guide

By Stas Bekman, Jim Brandt
Practical mod_perl

Practical mod_perl

By Stas Bekman, Eric Cholet
The mod_perl Developer's Cookbook

The mod_perl Developer's Cookbook

By Geoffrey Young, Paul Lindner, Randy Kobes
mod_perl Pocket Reference

mod_perl Pocket Reference

By Andrew Ford
Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

By Lincoln Stein, Doug MacEachern


Table of Contents

Perrin Harkins <perrin (at) elem.com> exclaimed:

  In 1999, I joined the development team at the rapidly growing on-line
  toy retailer eToys.com.  At the time, the site was running on a pretty
  standard platform of Perl CGI and a MySQL database.  Traffic was
  increasing, and the servers were already straining under the load.
  
  Our major task was to figure out how to get this system to scale large
  enough to handle the expected Christmas traffic. The toy business is
  all about seasonality, and the difference between the peak selling
  season and the rest of the year is enormous. The site had barely
  survived the previous Christmas, and the MySQL database didn't look
  like it could scale much further.
  
  There was no time for a significant re-write of the exisiting code, so
  we looked to mod_perl's CGI acceleration capabilities to get us
  through. Using the Apache::PerlRun module and the persistent database
  connections provided by Apache::DBI, we were able to do a basic port
  to mod_perl and Oracle in time for Christmas, and combined with some
  new hardware we were ready to face the Christmas rush.
  
  The peak traffic lasted for eight weeks, most of which were spent
  frantically fixing things or nervously waiting for something else to
  break. Nevertheless, we made it through. During that time we collected
  the following statistics:
  
    * 60 - 70,000 sessions/hour
    
    * 800,000 page views/hour
    
    * 7,000 orders/hour
  
  According to Media Metrix, we were the third most heavily trafficked
  e-commerce site, right behind eBay and Amazon.
  
  It was clear that we would need to do a re-design for 2000. We had
  reached the limits of the current system and needed to tackle some of
  the harder problems that we had been holding off on. Using mod_perl
  and a variety of other open source tools, we rebuilt the site to use a
  modular object-oriented design, improving flexibility as well as
  performance (see the Tutorials section for more information). Our
  capacity planning for Christmas 2000 was for three times the traffic
  of the previous peak. That's what we tested to, and that's about what
  we got:
  
    * 200,000+ sessions/hour
    
    * 2.5 million+ page views/hour
    
    * 20,000+ orders/hour
  
  See the Tutorials section for more information on how this feat was
  accompilshed!





TOP
previous page: EDDS Tax Management System for Canadian CCRApage up: Success Storiesnext page: iAgora - Study, Travel, Work Abroad - Connecting Internationals