This blog post is follow up for our MSSP Performance Testing post earlier this year.
Test Results – First Round
The first tests we run were focused on the number of CPU cores. Does limiting the core count reduce performance considerably?
The CPU count seems to have little to no effect on the performance. This definitely indicates a bottleneck in the MSSP application or the system configuration.
We used jvisualvm for detecting bottlenecks. This blog post describes jvisualvm usage very well.
The bottlenecks we found were mostly in our logging system and various third party libraries.
The most common problems seem to be calling
System.getProperty() method in each request. This causes a global lock.
All in all, jvisualvm seems like an excellent tool for quickly identifying performance issues. It’s extremely easy to use and is packaged with the JDK.
Test Results – Second Round
After fixing the issues identified by jvisualvm, the MSSP throughput improved around 25% (to 150txn/s).
This is a good result for such an easy fix. The next bottleneck is most likely the database configuration in the testing environment.