Archive for the ‘Tech’ Category

Ajax Load Testing Gotchas – Part 1 (REST Verbs)

Sunday, September 20th, 2009

One current trend in web development is toward the proper use of REST (Representational State Transfer). Rest maps 4 of the HTTP verbs, GET, POST, PUT and DELETE to Create, Read, Update, and Delete actions within a web application.

Browsers do not have direct support for PUT and DELETE currently, although this is coming when HTML 5 eventually comes out. However, PUT and DELETE are already supported in the XMLHttpRequest implementation in all major browsers, so it is possible create proper REST implementations of Ajax forms. The gotcha in this case is that many load testing tools will have trouble recording PUT or DELETE requests, or problems running them at test-time. For the time being, if you are using Ajax forms, double-check to make sure your requests are properly recorded and replayed.

[Post to Twitter] Tweet This Post 

Average Web Page Size has Tripled Since 2003

Tuesday, June 23rd, 2009

elephants1

Within the previous five years, the size of the average web page has more than tripled, and the number of external objects has nearly doubled. The average page size is currently a little over 300k, according to WebsiteOptimization.com.

There are a number of optimizations that help with larger page sizes.

To take one, example, server-side compression mechanisms provide a good option to negate some of the problems that accompany larger page size, like higher bandwidth costs, and slower page load times.

If your web server is running Apache, mod_deflate can help. If you’re using IIS, there is a good article about compression settings in IIS here.

As with most optimizations, there is a trade-off. In the case of compression, the trade-off comes in higher CPU utilization. A nice overview of compression can be found here. Even though compression raises CPU usage, optimization is a game of trading what you have to spare to get more of what you need, so if you can spare some CPU cycles, compression is a very smart trade.

[Post to Twitter] Tweet This Post 

Half a Second Additional Load Time Costs 20% in Lost Traffic and Revenue

Tuesday, June 23rd, 2009

Stopwatch

I recently stumbled across a blog post with this tidbit from a previous Web 2.0 conference. Google ran a user test to experiment with returning more than the usual ten results at a time in their search engine.

Google found that the half second needed to return the additional results killed user satisfaction, and caused a 20% drop in traffic. In spite of working in the load testing industry where page load time is king, seeing the real consequences of slow page load times drives home the point of “why page load times are important” in a very tangible way.

See Greg Linden’s blog post on this topic.

[Post to Twitter] Tweet This Post 

Google Page Speed Plugin

Saturday, June 13th, 2009

Google recently announced a new open source Firefox plugin named Page Speed. Page Speed is an addition to the already amazingly handy Firebug plugin. It provides an additional tab within Firebug that displays information on how to speed up your web page load time.

Google Page Speed Plugin Screenshot

Google Page Speed Plugin Screenshot

Implementing the optimizations suggested by the Page Speed plugin can help lower your base-line response time. Check it out if you haven’t already!

[Post to Twitter] Tweet This Post 

Common gotcha when load testing apps with ajax polling

Friday, June 12th, 2009

If you’re load testing an app with Ajax that uses polling, or comet, using an http level test (no browser), don’t assume you can safely re-use your script in subsequent load tests. If a developer changes the polling interval, your script will no longer be accurate and the load it generates may be substantially less or more intense than real world traffic. A change like this is easy to miss. Also, if you don’t have content-checks on your Ajax actions, other changes may invalidate your script without you ever realizing it.

[Post to Twitter] Tweet This Post