The accepted wisdom of website performance testing used to be that you would record "realistic" scenarios and repeat them with n virtual users to determine whether the back end could keep up.

Web application performance testing, however, requires most of the testing effort to be directed at the front-end. Testing and reconfiguring the back-end usually results in savings in the 10s of milliseconds in page delivery time, whereas optimising the front-end easily saves seconds for the end-user.

When an end-user is working with a web application, 80-95% of the wait time for each operation is determined by what is happening in their browser or across the network, rather than the server or database. If you deliver a slow front-end, it will be slow whether you have 2 users or 2,000.

Front End

Server and Database

Further reading

Yahoo Developer Network: Exceptional Performance High Performance Web Sites blog High Performance Web Sites course Improving ASP.NET performance ASP.NET performance checklist Speed up your Web pages Where and when to use Ajax Google Code Blog: Performance Ajax performance blog Ajaxian performance topics RockstarApps - performance optimisers Improving performance on the internet Netflix Case Study JavaScript: The Good Parts Ajax performance (PowerPoint) 20 tips Optimising Page Load Time Encosia - Performance articles 2008 Velocity Conference ASP.NET performance engineering High Performance Examples Browser Memory ASP.NET debugging JScript performance design patterns Web Site Performance Best Practice (slides) Serving JavaScript Fast

Test tools

Fiddler - allows you to monitor and alter network traffic Firebug - FireFox add-in for debugging web pages YSlow - performance score and script reviewer Inline Code Finder - finds inline event handlers and styles Web Page Performance Test WAPT - Web Application Performance Tester Cuzillion - Shows how the order of page elements affects performance JSlint - Javascript static analysis YASCA - source code analyser Dust-Me - finds unused CSS selectors Firefox User Agent Switcher