Performance Testing For The Masses
"FAST is cool, huh" - good friend of mine told me.
No doubt.
How do I identify the bottleneck with architecture like this?
- Is it Browser starving resources for client side JavaScript/AJAX heavy processing?
- Is it jumbo Http Responses (ViewState for example)?
- Is it Web Server processing takes my time?
- Is it Application Server (let's assume it is Web Services) takes my time?
- Is it about DB processing?
Here is the set of tools and steps for sanity check when experiencing performance hits for web applications:
Measuring User experience (Ux) time
Information gathered during this step is the overall latency that end user would experience
- General concepts are always good - How To: Stress Test Web Applications
- Visual Studio Team System owners should go straight to How To: Load Test Web Applications Using Visual Studio Team System
- All others can enjoy freebies like Web Application Stress Tool (free download).
Factoring browser processing time
Information gathered during this step can reveal what content type is served back before it get processed by Browser. Here is an example if the data collected by Fiddler (free download):
RESPONSE BYTES (by Content-Type)
--------------
image/gif: 344
~headers: 12,017
text/html: 66
text/xml: 1,107
text/plain: 687
application/json: 104,497
Fiddler gives also time to last byte for each resource too:
Understanding Web Server processing time (ASPX and ASMX)
Information gathered during this step can tell you which server - Web Server that serves Web Pages or Web Server that serves Web Services - consumes most of the time. Obviously former should be greater :)
For that purpose set time-taken property to be logged by IIS:
Measuring DB processing time
I'll leave it for another day
Having all this data at hand one can go ahead and focus on the troublemaker.
Performance Engineering in details is here https://msdn.com/Perf (redirects to https://msdn2.microsoft.com/en-us/library/ms998530.aspx)
Enjoy
Comments
- Anonymous
March 28, 2007
The comment has been removed - Anonymous
August 16, 2007
During recent engagement we tried to improve performance of some web page. Original response time was - Anonymous
November 02, 2007
Simple examination of IIS logs can reveal potential performance issues related to ASP.NET web applications, - Anonymous
January 01, 2008
During recent few engagements with my customers I've noticed  VIewState is extensively [unintentionally] - Anonymous
January 16, 2008
Ever wondered why your application unreasonably slow? You have it all - most powerful hardware, your - Anonymous
January 21, 2008
Care about performance? Do you write your code with performance in mind? Want little help to spot performance - Anonymous
March 08, 2008
Building ASP.NET web applications? Plan to serve thousands of users? Would you like to see how your application - Anonymous
April 07, 2008
PDD - Performance Driven Development presentation by Eran Kolbis made him my Super Hero! by Xurble Eran - Anonymous
April 20, 2008
These free performance tools will save you time and money identifying performance bottlenecks. Your customers - Anonymous
April 28, 2008
Chatty database access is the surefire way for slow performance caused by  resources starvation