Web Site Performance Optimization
This article will examine many ways in which we can better optimize ASP.net websites and provide better performance for the end user. Many of the concepts and principles we will be using here can be applied to websites that exist beyond the ASP.net framework although that is the technology of focus here.
Modern-day web application development is very performance centric. It must be seamless to use, it must be scalable and ubiquitous across many platforms, and must be future proof. These are enormous requirements, much more so than most business units realize. The idea of making a software package or platform future proof knowing what has been and what will come is daunting to the point of being almost impossible.
So do we really need to optimize websites?
Amazon.com ran an interesting test last year. They purposefully slowed down their entire site by 100 ms. This is a tiny fraction and most people wouldn't even notice the delay. Globally Amazon.com experienced a 1% drop in sales due to the delay. This was much higher than was expected and goes a long way to illustrate why a slow site is a bad thing.
In a similar test Google purposefully slowed down their search engine by 500 ms. Google is juggernaut, many referred to as the Internet, and yet 500 ms cost them 20% of their overall traffic. This is millions of people, and the importance of this loss could not possibly be overstated. Performance is a central aspect of any modern website and must be the focus of any developer working on it. "Speed is huge", said Jon Norwood at Mobile Informers. "Page abandonment begins at around 2 seconds and ramps up devastatingling fast."
The slowdowns must also be considered when various devices come in to play. Smart phones, tablets, media servers, Internet apps, and more all have access to a much more limited processing pool than PCs or laptops. Now smart phones of come along way and their processors are by way of comparison to their older models light years ahead but they're no desktop computer. When considering website performance one must consider the processing power of the most prevalent device visiting the site.
Some of these issues can be addressed by simply updating your.net framework. .NET 4.5 is a huge leap beyond .NET 4.0 and that one change can improve everything. And with little to no development issues as long as the upgrade go smoothly. The 4.5 garbage collector is an amazing module and it handles enormous heap sizes that can be measured in the tens of gigabytes. Other improvements are multicore JIT compilation improvements as well as app suspension which is can be a big player. None of these upgrades require changes in code.