Lowest Cost Cloud Load Testing Tool

Server Monitoring in Windows Azure

server monitoring in Windows AzureIf you are hosting your web application in Windows Azure, here are some tips regarding monitoring your servers and application during a LoadStorm test that were provided to me from a Microsoft software engineer:

Sharing with you the steps for performance testing/bottleneck identification. Attaching all the requisite documents and counters.

Explanation of perfmon counters - http://msdn.microsoft.com/en-us/library/aa905154(SQL.80).aspx

Other tools we use:

  • Logman (built into system) – to control performance counters
  • Logparser – when you want to evaluate http://logparserplus.com/
  • DMVs - http://gallery.technet.microsoft.com/ScriptCenter/en-us/


Ways to Use Perfmon Counters Config File via Command

  1. One on SQL Server
    • Config file for perfmon counters – attached
    • Command to run from admin command prompt in beginning – (remember to modify timings/location of perflogs/location of config file) or look up Logman syntax
    • Logman create counter SQLPerf -f bin -b 24/01/2011 13:36:00 -E 24/01/2011 13:50:00 -si 05 -v mmddhhmm -o "E:\perflogs\SQLPerf" -cf "E:\perflogs\AllSQLCounters-minus-cpu-disk-memory-details.Config"
    • For eg above command creates a DataCollector on Windows 2008 machine which uses a config file stored in certain location and outputs the log in binary format to certain location.
  2. One on web server
    • Config file for perfmon counters – attached
    • Command to run from admin command prompt in beginning – (remember to modify timings/location of perflogs/location of config file) or look up Logman syntax
    • Logman create counter ASPPerf -f bin -b 24/01/2011 13:36:00 -E 24/01/2011 13:50:00 -si 05 -v mmddhhmm -o "E:\perflogs\ASPPerf" -cf "E:\perflogs\ASP-NET-perfcounters-trim.config"
  3. One on SQL Server
    • logman start SQLPerf
  4. One on Web Server
    • logman start ASPPerf - after some 20-30 minutes (idea is to ensure good amount of data is collected and lot of normal/peak/average load is collected)
  5. One on SQL Server
    • logman stop SQLPerf
  6. One on Web Server
    • Logman stop ASPPerf


Web Role and Worker Role

server monitoring in a Win Azure platformTo find issues in webrole/worker role, we enable perfcounters and collect them in Azure storage account.

  1. You can do remote enabling on do it on role.start calm - please see: http://msdn.microsoft.com/en-us/library/hh411521.aspx
  2. Please watch this Channel 9 MSDN video about monitoring applications in Azure

The way it works is very simple, you enable a collection of perf counters, you scheduled tx to wad storage. And then you use a tool like Cerebrata like a performance viewer. Or you can enable remote desktop and look at log (not preferred due to ephemeral nature of roles).

You can also get crash logs, IIS logs, and event logs in same way.

Once you run tests with perf counters enabled, you will be better shape to identify bottlenecks. We shared with you perf counter list earlier,can share again.

When you work with SQL Azure, we need to use DMV as we discussed before -http://msdn.microsoft.com/en-us/library/ff394114.aspx They will give us idea about issues.


Suggestions for Testing Cycles

My suggestion is to plan your performance testing. Then sign up for a free subscription. Build test scenarios to act like real users.

Run a test for 25 or less users. Once you have the monitoring working well, run bigger tests.

Start from 50 users across all activities and go up to 5000 users so that you have an idea about at what point you need to provision more web roles or go for federation in SQL Azure.

Don't be in a big hurry with jumping straight to large numbers of users. Run a test and review the results - both from a user perspective (RPS, response times, errors) AND from the server perspective (perf counters).

Practice correlating all the data. How many concurrent users is pushing the server to a limit somewhere? How many requests per second? When we start to see errors returned to the client, are we almost out of memory? Are we getting CPU bound? Do we have enough database connections?

Performance optimization is difficult. Be scientific and don't try to change too many variables at once. Change something and then test again to see the effect. Be patient and persistent.





Storm on Demand - Pay Per Test

Storm on Demand Users Cost
1,000 $39.90
5,000 $199.50
10,000 $399.00
25,000 $997.50
50,000 $1,995.00
100,000 $3,990.00
200,000 $7,980.00

performance testing sign upIt's easy. You can be load testing in 15 minutes.

  1. Click the "Free Account" button.
  2. Enter your name & email address.
  3. Click the confirmation link in an email.
  4. Create a test scenario for your site.
  5. Run a load test.
  6. Analyze the test results.
  7. Send us a testimonial because you are amazed!

Customers love our load testing tool

“We needed an easy & cost effective way to load test our Windows Azure solution. Thanks to LoadStorm - highly recommended!” - Jonas Stawski, Microsoft MVP

"LoadStorm is a very useful tool." Alan Cheung, Manager - Technical Services, Dow Jones Publishing Company

"It has been a pleasure to work with LoadStorm." - Mike Compton, V.P. of I.T., Hearst Business Media

"Load-testing in the cloud was a great solution and LoadStorm a dream partner. " - Julie Hansen, COO, Publisher, The Business Insider

"There was no risk because I knew what the tool would provide before spending a dime. LoadStorm is a great tool." - Richard Ertman, QA/Release Manager, PETA

"I am definitely a fan of LoadStorm. I like its ease-of-use and the way in which the solution scales." - Darin Creason, Sr. Software Engineer, TransCore Corp

Want a Live Demo? Have Questions?

Please feel free to contact us:

(970) 389-1899

We are eager to help you with LoadStorm in any way that you need.