Performance testing is one of the most important facets of testing your website,to save you from embarrassments just when your site is having the maximum number of user base hooked on it.
For this, there are multiple phases for performance testing and tuning.
Load Testing Tools
Load testing is a very important step, to gauge your site's performance against heavy workloads and do effective sizing to meet the requirements. I have personally used both LoadRunner and VSTS and will vouch for LoadRunner as the best one for ease-of-use and utility.
You can use Mercury (now HP) Load
Runner as it offers you very
flexible and exhaustive set of
configurable options to test your
website against against a given
load.
- It mes equipped with a Vuser generator, controller and reporting tools
- Its trial version gives you a license to run 25 Vusers, concurrently.
- For higher workloads you'll have to purchase its (expensive) license.
There is also a tool by Microsoft as well, as a part of Microsoft VSTS, for Load Testing purposes. You can acquire a free-to-use license as a part of MS BizSpark
Apart from these you can get access to many Open Source Load Testing Tools, at OpenSourceTesting site
Profiling
Apart from Load Testing, which will tell you the load bearing capacity of a site and the slow-responding pages. Another important facet in performance testing is Profiling the code to see what parts of your code are the main culprit to slow down your show.
You have different profilers available for each language, I am listing some of them:
- Java - Jensor
- .NET - CLR Profiler
Emulation
You can always run the extra mile, by emulating the production environment, at your developer end to get a preview of how your code will perform under different scenarios.
Emulators of varied nature are available, which you can use depending upon the scenario, e.g. Network Emulator (eg. WANem) to test the performance under varied latencies and bandwidth.
The above 3 tools+tests can give you an idea of how far your site can stretch before it kneels down to the base, which we hope should never happen. :-)