I'm looking for a performance monitoring tool that is capable of generating different performance parameters for web-application(s). The tool should be able to detect bottle necks (if any) and should also be able to calculate the CPU and memory usage of the web application on client as well as on server side.

3 Answers
3

depend on your work. if you want to monitor the performance parameter by applying load. there are various performance test tools available which is capable of monitoring things you mentioned.
you can try out the tool called java visualVM. it can monitor all the the parameter you need. and you can use it along with Jmeter. to test the performance..

The Visual Studio Load Testing tools do this and have built in thresholds for a wide range of performance counters that will throw warnings and then errors at certain levels. You can change the default thresholds as well to tailor it to your own product. It goes well beyond just watching memory, cpu, network and disk IO and because of the default thresholds it will often alert you to issues you wouldn't have even noticed had they not been set up. The visual studio load testing tools are included in Visual Studio Ultimate and depending on the setup you use may require additional licensing as well.

Automagical bottleneck detection is the holy grail of performance testing. Depending upon what you setup for monitoring and how you are able to cross correlate with your observed results you can derive insight onto the source of the bottleneck, i.e., a long response time combined with high disk activity on the database server + high table scans + high number of records transferred to client likely indicates an unoptimized query missing and index and (perhaps) returning more data than is absolutely necessary to satisfy the client need.

Performance analysis is a field which is particularly well suited to expert systems development for inclusion of rules to analysis sets for candidates for bottlenecks