ASP.NET Performance and Scalability Equation

As I was driving down to work this morning trying to catch up on .NET Rocks, I started listening to ASP.NET Scalability Panel Tech-Ed 2007 show. This is an excellent panel discussion; highly recommended to anyone who writes an ASP.NET web application. The panelists include Stephen Forte, Kent Alstad and Rob Howard who talked about caching, SQL Profiler, non reproducible timeouts, web server optimization and the business case for performance etc; you surely don’t want to miss it.

Also during the SoCal Code Camp I attended a talk by Richard Campbell on ASP.NET scalability (also dubbed as “Killing web servers for fun and profit”) and there was a equation he mentioned during the presentation which is also available as part of Stephen Forte’s PDC slides. The equation goes as

R ≈ (Payload / Bandwidth ) + AppTurns(RTT) + Cs + Cc


AppTurns is the turn count required to generate a user response

Bandwidth is the minimal bandwidth (bits per second) across all the network links between the user and the application server.

Cc (Compute Client) is the total processing time (seconds) required by the client device.

Cs (Compute Server) is the total processing time (seconds) required by the server(s).

Payload is information content (bytes) that must be delivered to/from the user’s device.

R is the response time, which is the elapsed time (seconds) between a user action and the system response (client, network, server),

RTT is the round-trip-time (seconds) between the user and the application server.

Aside from figuring out the weakest link in your system using the above equation, you should definitely check out the following resources if interesting in making your website more “responsive” and effective. Feel free to drop me a line (adnanmasood at gmail dot com) if you have any interesting problems in this area and I’d love to assist.