I see something becoming more frequent and its increasingly concerning me.   The current method of Performance Testing – capture network level traffic, inspection, correlate, and then replay, is becoming increasingly complex.  In the ‘good old days’ we had simple GET and POST requests.  Then Ajax and Web2 came along, making things a little trickier.  I’m now seeing a lot of requests being generated dynamically within JS – and it’s nearly impossible to understand the JS code and replicate the logic in whatever is the performance tool of choice.  

In our past installments on Web performance optimization, we’ve seen how caching, server configuration, and the use of Content Delivery Networks (CDNs) can increase a Web site’s responsiveness and improve Web performance metrics. Most of the techniques we’ve reviewed have focused on configuring the Web server or optimizing server applications. Unfortunately, a Web page that downloads quickly but is slow to parse or execute on the client will appear just as slow to a user as if the Web server were on its last megabyte of memory. In this article, we’ll discuss some ways that Web page content can be streamlined for an optimal client-side experience.

Streamline JavaScript Includes

JavaScript abounds on the Web. From jQuery to Dojo, the Web is full of JavaScript libraries that can easily be dropped into a Web application. And any site whose developers are actively adding features is going to accrue its own storehouse of .js files. Unless a site’s JavaScript is carefully managed, its Web pages could end up making a dozen or more separate requests for scripts. As we’ve already discussed in our article on
web performance optimization non-caching strategies
, the more requests your site makes, the slower it will load.

Tip of the hat to TechAttitude.com for the graphic showing how Web page sizes and number of objects have grown tremendously over the past 16 years. In the interesting article they state, “…the average size of a web page has increased by more than five times since 2003” and “the use of mulitmedia is increasing by 100% each year”.

Follow these guidelines to manage and reduce the burden of JavaScript on your Web pages.

I was reading a post about how the performance of Apache wasn’t quite as good as Nginx, but I got sidetracked by a link on the article that lead me to a broader study that was interesting. An informative performance benchmark comparison was published on http://www.trustleap.com/ where the author concludes that G-WAN running on Linux using a C language-based application has unbelievably better performance than any of the other tested combinations.

First, let me say that I love seeing the metrics. Second, I would love to run a test like this with LoadStorm. Third, my inner geek cynic kicked in as soon as I realized that TrustLeap is the producer of G-WAN. Maybe these numbers are suspect because of their source, however I want to share them with you.

Comparing Apache/Linux, GlassFish/Linux, IIS/Windows, and G-WAN/Windows & Linux

Basilio Briceno is the Senior Developer at Naranya – one of the leading new media companies in LatinAmerica, with special focus in the mobile entertainment and mobile marketing world. He is also a Community Member of the Mozilla Foundation and Project Lead at Tlalokes PHP framework.

Basilio is or has been a college professor, a public speaker, and an independent consultant with these specialties: PHP, UNIX, GNU/Linux, FreeBSD, Solaris, Apache, IIS, Bind, Bash, Photoshop, Gimp, (X)HTML, DB/2, Websphere, JSP, JSF, Javascript, MySQL, Oracle, Perl, PostgreSQL, Postfix, and XML. Check out his personal blog site when you get a chance.

Let’s start the interview.

How much involvement do you have with load and performance testing?

That’s what I do everyday, and that’s why companies hire me. My principal task is to be the most worried person in the company about performance testing. That’s why I try to be involved in every aspect, from UI testing, to load testing, and OS tuning.

What would you say is the difference between load testing and performance testing?

To put it into a boxing metaphor, performance testing allows us to know the precision and speed of the fighter’s arms and fists, the power of his punches, the resistance, velocity and movement of his legs. Load Testing allows you to know the amount of rounds the fighter is capable of competing.

What do you think is the most important aspect of load testing?

Emulating the real conditions that the application is going to be exposed to and exceeding the expectations. If the Load Testing results are superior to expectations, it is less likely that uncomfortable surprises will appear in production.

Will Wolff-Myren is a software professional that loves building web applications. He has a blog with technical articles that are usually centered around developing on a Microsoft platform.

Will is a Software Engineer working for about the last 5 years at Learning.com. He is a fan of Firebug and Charles. He identifies some good links and useful books with us too. We appreciate Will taking the time to share some information with us.

What is your technical background?

I’ve had a variety of experience in web design/development and software engineering, starting with my first experiences in Java programming (all the way back in Java 1.2), and leading me to my current position as an ASP.NET software engineer.

Do you consider yourself more of a software developer or QA professional?

I consider myself to be much more of a software developer, though, of course, I try to do as much QA on my own code as I can before delivering it to our QA team for further review.

This may not work for non-English speakers, but Cambridge University presents the following paragraph:

Olny srmat poelpe can raed this.

I cdnuolt blveiee that I cluod aulaclty uesdnatnrd what I was rdanieg. The phaonmneal pweor of the hmuan mnid, aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn’t mttaer in what oredr the ltteers in a word are, the olny iprmoatnt tihng is that the first and last ltteer be in the rghit pclae. The rset can be a taotl mses and you can still raed it wouthit a porbelm. This is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the word as a wlohe. Amzanig huh? Yaeh and I awlyas tghuhot slpeling was ipmorantt! If you can raed this psas it on !!

Could you read it? Impressive! It would at first appear to be unintelligible, but it surprisingly makes sense. While this is an interesting mind trick, what does it teach us about performance testing? Well, it has been my observation that most owners of websites can understand performance metrics intuitively. Their brains can overcome the potential obstacles from their not being experts in our industry. They can figure out the scrambled world of performance engineering without knowing the code (pun intended).

Have you ever had a Krispy Kreme Burger? It’s definitely over the top. Too much of a good thing.

I have received questions from customers about load testing reports that show their server doing some unexpected things. For example, a customer sent some server monitor that showed a pattern of large peaks of CPU utilization followed by a precipitous drop to a low level of usage. He wanted to know why LoadStorm wasn’t applying a consistent load to his system as evidenced by the CPU spikes.

In an effort to identify as many performance enhancing suggestions as possible, here are a few more ideas that are specific to Microsoft’s IIS web server. I will try to add to this post whenever I find new IIS performance improvement ideas.

The cloud. It’s exciting. A panacea? Hardly.

Your website is a little slow – so what? Well, it is probably costing you money. I have been researching published facts about web performance because we are always trying to understand our industry better. This post should help you realize that improving your web application performance can directly impact your bottom line by 10% or more. Don’t believe me? Read on…


My thanks to Lawrence Nuanez for sharing his insights and testing expertise with us. In this email interview, Lawrence talks about his views on software testing, load testing, test automation, and off-shoring.

As a Senior Consultant for ProtoTest, Lawrence’s focus is mainly on load and performance testing, and he has several years of experience helping both SME and Fortune 500 clients by designing custom test plans. Use of both proprietary and open-source tools is always considered to ensure that best fit for the customer.

Similar Posts