Key Performance Measurements for App Servers: Cause, Impact, and Resolution
Waste no time in troubleshooting the metrics of your App Server's performance test with this quick guide to impacts and resolutions.
Join the DZone community and get the full member experience.Join For Free
Below are some of the key metrics that need to be monitored during performance testing:
- CPU utilization
- Heap memory utilization
- Number of active/daemon threads
- Number of classes loaded
- Server page faults/second
- Cache hit ratio
- Active total sessions
- SSL transactions/second
- Active/total DB pool connections
- Application log
- Load balancing
Let's take a look at some of the causes of negative impacts on performance testing and some quick resolutions that will help smooth everything out.
Cause, Impact, and Resolution
1. Memory Leaks
In this case, heap memory utilization rises steadily and doesn't recover after GC.
Resolution: Find and fix memory faulty application code.
2. Inefficient Garbage Collection
This causes spikes in transaction times.
Resolution: Tune the GC algorithm based on heap size and application type.
3. Sub-Optimal Session Model
This could explain why you’re seeing steadily rising active sessions during a test.
Resolution: Tune the session keep settings alive.
4. Poorly Configured App Server
This is a related to a low correlation between the app and HW, as well as poor resource utilization, and can overall poor performance.
Resolution: Validate proper JVM-to-app server match; increase data and object caches; add HW memory.
5. Insufficient Hardware Resources
With this, you’ll see high CPU, memory, and I/O utilization.
Resolution: Add more CPU and memory; decrease the number of App Server instances.
6. Poorly Configured DB Connection Pool
With this, you’ll see steadily rising active connections and high CPU utilization.
Resolution: Raise DB connections and lower the number of App Server instances.
7. Inefficiently Coded Transaction
This will slow specific business functions.
Resolution: Pinpoint and diagnose your longest-running business processes.
8. Inefficient Object Access Method
This leads to slow object creation.
Resolution: Change object access method.
Opinions expressed by DZone contributors are their own.