Why is my Web Site Slow - Part 2
In my last posting, I talked about the impact of requirements on performance. Another reason for the slowness of Web sites is the number of moving parts that could be performing poorly. Let’s look at the most important components in your customer’s Web experience:
· Browser – The browser is the first touch point. All browsers are not created equal, however because they multithread. In fact, the most modern releases of browsers can open 3 to 4 times as many connections as the old ones.
· The Internet – Like it or not, we are all at the mercy of the Internet providers that we subscribe to. In addition, they are at the mercy of the “big pipe” owners who manage the large connections between regions and continents. Plus, we are all at the mercy of the Internet Standards like HTTP, TCP and IP. The combination of these creates a phenomenon sometimes call the “Internet Weather”. This means that the Internet is slower on some days and faster on the others in a random fashion that comes and goes like the weather.
· The Site Hosting Environment – Requests eventually arrive at the physical location of your site, passed to you by your Internet service provider. Once within your network, response time is subject to your network traffic, firewall restrictions, security checks and load balancers. Any of these can cause performance to degrade if not configured properly.
· Web Server – The humble Web Server’s job is to take HTTP requests in, hand them to your site and send your responses to the user. If configured poorly, they can be a source of slowness.
· The Application Server – Most of the big eCommerce sites use either WebSphere Application Server or JBoss to process the request. These components are very complex and must be tuned properly.
· eCommerce Framework – Commercial products like WebSphere Commerce Server, ATG, and Microsoft Commerce server are essentially libraries of prewritten commands that you either use out-of-the-box or modify them, then use. Needless to say, the quality of these components is critical to your performance.
· Interfaces – Your site is interconnected to somewhere between 20 and 150 pieces of software that are outside of your control. Many of these sites are internal, but others are services that are run by “software as a service” vendors. Any of these can create a slowness in your response times if they respond to you slowly.
· Your code – Finally, the code that you write has a huge impact. Poor design and coding can ruin your chances for a good customer experience.
The fact is that any one of these can cause your site to perform poorly. This can transform your job from software engineer to detective as you try to figure out where the problem lies.


