The Complexity of Web Performance

Helping a colleague this week, we uncovered some odd behavior with a site whose performance he was analyzing. Upon first glance, it was clear that this site had a performance issue – they had HTTP persistence disabled. Immediate red flag in the areas of network overhead and geographic latency.

Further digging exposed something more sinister. It seems that HTTP persistence was only disabled for browsers with MSIE in the user-agent string. Even if the user-agent string was just MSIE, HTTP persistence was off.

The customer was very forthcoming and sent us their standard httpd.conf file. This showed no sign of the standard (and frustrating) global disabling of persistence for Internet Explorer.

Finally, it came to us. The customer had provided a simple network diagram, and there, just before packets hit the Internet, was a Layer 7 firewall. How did we know the Layer 7 firewall was the likely cause? Because this device was also the one that provided compression for the content going out to customers.

A Layer 7 firewall happily rewrites HTTP headers to reflect the nature of the compressed content (content-length or transfer-encoding: chunked) and to add the gzip flag (accept-encoding:gzip). Since this device was already doing this, it was pretty clear to us that it also had a rule that disabled HTTP persistence for anything with MSIE in the user-agent string.

This was a fine example of the complexity of the modern Web application infrastructure. In effect, there were two groups with different ideas of how Internet Explorer should be handled at the network layer, and neither of them seems to have talked to the other.

When you have a Web performance problem, indulge in a thought experiment. Create an imaginary incoming Web request and try to see if you can follow it through all the systems it touches on your system. Put it on a whiteboard, a mindmap, whatever works.

Then invite the system architects and network engineers in and get them to fill in the gaps.

No doubt that will lead to the “ah ha!” moment.┬áIf nothing else, it’s a good excuse to put pizza on the company card. But I have no doubt that you will walk away with a better understanding of your systems, which will make it easier for you to talk to all the people responsible for keeping your systems running.

TAKEAWAY: Just because the part of the Web application you work on is working fine, it may be affected by other components that are not tuned or configured for performance. Get to know the entire application at a high level.

Browser Wars – Internet Explorer 7 Use Collapses in the US

I have been monitoring this trend for a couple of weeks to see if it remained constant, and it appears to be a real thing. Since the end of May 2009, Internet Explorer 7’s browser share in the US has collapsed, with a requisite increase in the use of Firefox 3.0.


This is a staggering change. Either this is an artifact of the way that StatCounter is capturing browser data or a very large organization(s) suddenly switched the default browser that it allowed its customers to use.

Does anyone have any insight into why this may have occurred?

Browser Wars: The Slow Rise of Internet Explorer 8

Since its GA release on March 19 and its addition to Windows Update in late April, Internet Explorer 8 has been gradually increasing its market share in the US. Based on the current growth pattern in StatCounter’s GlobalStats data, it appears that Internet Explorer 8 will overtake Internet Explorer 6 sometime in late May or early June.

StatCounter Browser Stats - US - 03/01/09-05/11/09

In other parts of the world, the adoption of the new version of Internet Explorer is substantially slower, and affected by regional differences in the browser population. Europe is notable in this as MSIE8 has just overtaken Opera 9.6 in the browser population in the last week.

StatCounter Browser Stats - EU - 03/01/09 - 05/11/09

In Asia, Internet Explorer 8 has moved into fourth in browser share, but is a substantially lower percentage of the population than the top three browsers. In a frightening statistic, Internet Explorer 6 is the most popular browser in Asia, indicating that path to adoption may be longer in this region.

StatCounter Browser Stats - Asia - 03/01/09 - 05/11/09

Overall the adoption of this new browser as a replacement for Internet Explorer 6 and 7 is slow and steady. MSIE8 does not appear to be significantly cutting into the Firefox population, but this could change as people begin to hear more about the features of the new browser, and Web sites begin to be designed to its features, rather than those of MSIE6 and MSIE7.

Browser Wars: Why Internet Explorer 6 Still Exists

At CNet News today, the article What browser wars? The enterprise still loves IE 6 nicely sums all the reasons that Internet Explorer 6 is still in use in enterprise environments. The dominance of Internet Explorer 6 in the workplace is something I discussed a few days ago, supported by the pattern of higher weekday use of this browser during the work-week.

Limiting employees to a browser that is considered an ancient technology by Web developers poses an interesting dichotomy to companies. Internally, they are powering their internal applications with coal and steam, and turning the cogs of business with leather drive-belts. Externally, the customers get to see a site that is shiny, one that has all the gadgets of a rich-Internet application that require the computationally advanced capabilities of a modern browsers.

To some extent, the companies who use Internet Explorer 6 internally are saying to their employees that the Internet is simply another desktop application that they must use.

I am firm believer that the Web will be the home of many of the applications we use on a daily basis in the very near future [here and here]. My vision of this is that the Web application is designed to free the user, and lessen the workload for IT departments.

Most organizations continue to see the Internet as a negative, a threat to productivity, a necessary evil. So if they restrict their employees and provide them with a browser that doesn’t quite work properly on the Internet, they still have ultimate control.

I have had the benefit of working for organizations throughout my professional career that did (do) not limit my choice of browser or operating system, allowing me to find my own preference. I realize that this is rare in corporate Industrial Culture, and I consider myself lucky.

So, why is their still a need for Internet Explorer 6? Frankly, there is really no need for it in my opinion, and the CNet News article has a table from Forrester that supports that. That doesn’t mean that my browser idealism and utopian dream of “may the best browser win” will hold any sway over the IT decision makers in large organizations.

StatCounter still shows that during the week, Internet Explorer 6 holds 12% of the browser share in the US [here]. So, will this 12% of the browser world hold back the promise of the Internet for the rest of us?

Dear Apache Software Foundation: FIX THE MSIE SSL KEEPALIVE SETTINGS!

Dear Apache Software Foundation, and the developers of the Apache Web server:

I would like to thank you for developing a great product. I rely on it daily to host my own sites, and a large number of people on the Internet seem to share my love of this software.

However, it appears that you seem to want to maintain a simple flaw in your logic that continues to make me crazy. I am a Web performance analyst, and at least once a week I sigh, and shake my head whenever I stoop to use Microsoft Internet Explorer (MSIE) to visit secure sites.

I seems that in your SSL configurations, you continue to assume that ALL versions of MSIE can’t handle persistent connections under SSL/TLS.
Is this true? Is a bug initially caught in MSIE 5.x (5.0??) still valid for MSIE 6.0/7.0?

The short answer is: I don’t know.

It seems that no one in the Apache server team has bothered to go back and see if the current versions of MSIE — we are trying to track down the last three people use MSIE 5.x and help them — still share this problem.

In the meantime, can you change your SSL exclusion RegEx to something more, relevant for 2007?

Current RegEx:
SetEnvIf User-Agent ".*MSIE.*" nokeepalive
	downgrade-1.0 force-response-1.0
Relvant, updated REGEX:
SetEnvIf User-Agent ".*MSIE [1-5].*"
	nokeepalive ssl-unclean-shutdown
	downgrade-1.0 force-response-1.0

SetEnvIf User-Agent ".*MSIE [6-9].*"

Please? PLEASE? It’s so easy…and would solve so many performance problems…


Thank you.

Internet Explorer: Plan to completely support RFC 2616 anytime before the next ice age?

I am writing up a client presentation for next week, and I just realized just how flawed Internet Explorer is. Microsoft claims that the browser is standards compliant. Yet it still doesn’t support HTTP pipelining.

And the frustrating part? They won’t tell us why. I have my suspicions, which include TCP stack issues and a flawed HTTP handling mechanism that is still based on Windows 95 architecture, but an explanation from Redmond would be nice.

Every (and I mean every) other browser can do this.

Microsoft, it’s time you detached your Web browser from your OS, like you’ve forced everyone else to do.

Firefox Rising

MozillaZine has some interesting statistic war data on the Firefox arrival. Now of course Microsoft is disputing the numbers. But it is sort of like arguing that the Sammy Sosa Home Run record doesn’t mean as much as the Roger Maris or Babe Ruth Records because of the extended season.

Microsoft has lost this battle. If they are willing to suck it up and try to win the war, they have to agree to the following:

  1. Internet Standards — CSS, XHTML, RSS, and HTTP/1.1 — do matter. In fact, when looking at Web performance, I have to fall back to the following argument: “I don’t care if MSIE does it, it is not in the accepted standards”. Microsoft has a very active research division that has participated in the development of these standards. Means they must buy into them at some level.
  2. MSIE hasn’t had any buzz since the start of the pop-up wars.
  3. MSIE suffers from a general perception of being insecure. Microsoft hates when the others can effectively use FUD against their products.
  4. Being multi-platform has it’s advantages. And Macintosh doesn’t count, especially since you don’t have a current version of your browser for OSX. Geeks use Linux, and OSX, and BSD, and Windows. But Geeks all love Firefox, and that runs on ALL platforms. So do 90% of the extensions and themes.

I like Firefox. But I do not underestimate the power that Microsoft can bring to bear if it wants to really develop a kick-ass browser. And in the end, all Web users win.

Copyright © 2024 Performance Zen

Theme by Anders NorenUp ↑