Performance Testing Tools and Techniques

Once you have established appropriate goals for performance benchmarking, it is necessary to define the performance testing and monitoring framework.

This step significantly varies for each project based on application design and deployment requirements. However, it is important to establish key performance monitoring and benchmark measurement techniques and tools. Monitoring each component requires different techniques. It is important to monitor the application including the CPU, memory and logs, the hardware resources, network and performance metrics using load generation tools.

To monitor application resources like CPU, memory, thread dumps and GC, you can use JVisualVM. For more information on JVisualVM and thread dumps, see Monitoring threads and taking a thread dump using JVisualVM.

You can generate Heap dumps from JVisualVM, and can analyze using memory analyzer tools. For errors during load testing, the application logs can be monitored. To monitor the container level statistics you can use any of the docker stats, Pivotal Platform, Openshift, GCP UI.