Fundamentals
The worst thing you can do to your home page -- don't slow it down on purpose!
Submitted by Donald Foss on Thu, 2007-03-01 13:43. FundamentalsThis one will be short, because there simply isn't that much to say. Your home page is one of the most important pages on your site in terms of the visitor's experience. If your site requires registration, authentication or identification, nearly all users must go through this page. It is the proverbial front door to your site and application.
On a recent load test, the test had to be aborted after 9 minutes, while they were only at 25% of the planned total load level of 385,000 sessions per hour. They were using a LAMJ architecture, and each home page hit generated a long running SQL query. Even very patient users, who are tolerant to slowdowns and errors, will not stick around if the home page takes several minutes. However, this site didn't even do that! After 2 minutes into the test, the pages simply said "
continue reading "The worst thing you can do to your home page -- don't slow it down on purpose!"
Fundamentals - load test in a production-like environment
Submitted by Donald Foss on Mon, 2006-11-13 08:24. FundamentalsOne of the keys to a realistic load test is to test on the same infrastructure and equipment that you will be utilizing in production. The corollary is to make sure that any scheduled jobs that run during production run during the test, and jobs that only run at off-peak times do NOT run during the test. Friday night we were testing a site that started to fail at the 50% load level. Their web servers were not especially busy, and their application servers were only moderately loaded. The culprit? Rsync and other batch jobs running to replicate content and perform routine site maintenance. The system administrators had to kill a number of processes and put the cron jobs on hold. The data for that load level was largely useless.
continue reading "Fundamentals - load test in a production-like environment"
Fundamentals - basic networking skills are still important
Submitted by Donald Foss on Fri, 2006-11-03 16:24. FundamentalsOn Monday night this week, I performed a considerably large load test for a customer. They eventually found that anything that can break, will. The test was configured in a standard stepped ramp configuration. The test begins at 25% load, maintains that for 30 minutes, then goes to the next. Within 5 minutes of the beginning of the test, response time starts climbing dramatically. TCP connect time is normal, but first byte time is hitting near 5 seconds. This is a site that normally has a page response time of less than 2 seconds across all pages, which is quite an accomplishment. This is an Alexa Top 500 site. These guys know what they are doing.
continue reading "Fundamentals - basic networking skills are still important"
Fundamentals - having enough bandwidth
Submitted by Donald Foss on Thu, 2006-11-02 19:50. FundamentalsI work with many large retail customers, and this is the time of year when many of them are scrambling to make sure that they can handle their anticipated peak traffic days ahead--Black/Green Friday, the day after the US Thanksgiving holiday, and on until Christmas. One of the fundamentals that seems so 2000 is making sure you have enough bandwidth. Forget the 8-, 4- or 2-second rules--if you don't have enough bandwidth to serve up the transactions, even with a Content Delivery Network handling all of your static content, then you have major problems. At least this customer realized that internal testing does not give you the full picture, and that one must conduct end-to-end testing to really know what is going to happen. Unless your customers are shopping from your data center, then it does not make sense to test from there. My mantra "unrealistic testing yields unrealistic results" is entirely true here.

