SYS-CON MEDIA Authors: Doug Masi, Mat Mathews, PR.com Newswire, David Smith, Tim Crawford

Related Topics: Cloud Expo, Java, SOA & WOA, Linux, AJAX & REA, Web 2.0, Big Data Journal

Cloud Expo: Article

Bloated Web Pages Can Make or Break the Day

Lessons Learned from Super Bowl Advertisers

In a previous post, we discussed why GoDaddy could sustain the peak load after its Super Bowl Ad campaign aired and why others like Kia wasted a lot of marketing money because its site availability dropped under the load. In this post, we will look at the technical details behind the impact of oversized pages, and how that may have been averted by kia.com.

Kia.com availability eventually dropping to 0% - see previous post

Lesson #1: Bloated Pages Will Kill Your Web Servers
Previously, I noted availability issues occurred for Kia during game time. The Kia team broke an important performance rule - large number of bytes transferred.

First, let's look at the anatomy of an American football fumble- play in motion, ball fumbled, pile-up ensues until possession is determined, then play is recovered or turned over.

Now, let's look at the anatomy of a heavy web page otherwise delivered successfully under normal load. First, heavy traffic volume begins. A connection pile-up ensues by putting massive campaign-based load on front-end. Front-end tipping point reached when established connections cannot complete bytes in motion faster than new connections are requested. Eventually, timeouts occur for new connections after 60 second inactivity, and the web site is barely in motion.

1. Heavy Traffic volume begins, 2. Connection pile-up, 3. Timeouts occur, and 4. eventually availability drops.

Kia's page was just over 20.1MB, and ranked 51 out of the 53 advertisers for heaviest byte count. Its tools should have made this fact obvious, unless it was deliberate. Either way, soon after its third quarter ad played, kia.com failed miserably

The following screenshot shows the drop in transferred bytes during game time when hitting the home page. At the same time we observed internal server errors and the socket timeouts which explain the actual problem. Web Servers couldn't handle the incoming load because they were busy delivering the very heavy weight content. Note: In my previous blog I identified the symptoms of socket timeouts, however, further investigation for this blog revealed a more prevalent symptom of internal server errors (HTTP Error code 500):

Transferred Bytes show Availability fell during the game

Socket Timeout Error:

Internal Server Error 500 - yes, this is a generic error message, but given what we know about kia.com's site performance the unexpected condition was encountered was likely due to excessive load and the servers inability to service that traffic:

Lesson #2: What Caused the Bloat?
To read on, about what caused the bloat - click here for the full article.

Takeaways for Developers

Takeaways for Performance Engineers

  • Load Test 1.5x - 3x of your expected load. Make sure to test from different regions and browsers.

Takeaways for Business / Marketing

  • Make sure the advertising dollars spent matches the money it will take to be sure that IT and Dev get it right.

In a future article, I will help answer these questions: is deploying SSL on a homepage a security requirement, a marketing tactic, or simply a misunderstood technology? And, is the importance to not only include your CDN Partner in your testing and monitoring Strategy, but extend this to also analyze which CDN partner is the right one for you. Click here to read more now.

More Stories By Gregory Speckhart

Gregory Speckhart is a Senior APM Solutions Consultant at Compuware.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.