Stress and performance test on ASP.NET app

2019-03-16 22:53发布

问题:

I want to conduct a stress and performance test on the front-end of my ASP.NET app. My goal is to:

  • Identify bottlenecks
  • Learn the number and the load of HTTP requests
  • Easily determine the components that are using an Expires header and/or being gzipped
  • Figure out where to increase download parllelization
  • Locate duplicate scripts and unncessary redirects
  • Determine the load that will bring down the servers
  • Pinpoint key areas of server optimization

Besides YSlow and Fiddler, are there any other tools that I should use to complete this test? Also, please share any best pratices for conducing this kind of test with me.

Thanks for your help,
John

回答1:

Visual Studio Test Edition (2008/10) is a great tool for the job. You create individual web tests and combine the to generate a load on your webserver.

•Identify bottlenecks The tool allows you to configure exactly the perfmon stats you want to analyse. 2010 also automates the process of taking a database trace.

•Learn the number and the load of HTTP requests This requires some analysis of your IIS logs. Get a copy of Logparse2.2 (free MS tool). Load the logs into a database and have a look at what is going on.

•Easily determine the components that are using an Expires header and/or being gzipped Again the IIS logs are the best place to get a handle on what is there.

•Figure out where to increase download parllelization The IIS logs will tell you where abouts your actual users are hitting things, but Chrome has a really nice tool to investigate page by page the timing of invidual items.

•Locate duplicate scripts and unncessary redirects Not sure for this.

•Determine the load that will bring down the servers Create a load test based on a "common" group of pages requests from the live site. Add virtual users until the site dies. Be aware that any half decent webserver is going to require quite a bit of processing to take down, so you will require a licence for the MS load agents in order to generate enough load. Visual Studio 2010 will allow you to buy a licence for a number of virtual users and spread the virtual users of a number of machines in order to get a good load happening.

•Pinpoint key areas of server optimization The load test tool captures the server perfmon statistics and allows you to find out the server bottlenecks. The test also capture the response times for individual pages, identifying particularly slow pages for improvement.



回答2:

If you have the money Web Metrics has an interesting offering called SiteStress (http://www.webmetrics.com/products/site_stress.html). I looked into them a year or so ago but didn't end up using them.