[AIAB-02] Explore the results
Last updated
Last updated
Let's now take a look at the results and benefits Akamas achieved in this real-life optimization.
Notice: in your environment, you might achieve different results with respect to what is described in this guide. The actual best configuration might depend on your actual setup - operating systems, cloud or virtualization platform, and the hardware
By optimally configuring the application configurations (JVM options), Akamas increased the application throughput by 30%:
Properly tuning a modern JVM is a complex challenge, and might require weeks of time and effort even for performance experts.
Akamas was able to find the optimal JVM configuration after a bit more than half a day of automatic tuning:
In the Summary tab you can quickly see the optimal JVM configuration Akamas found:
As you can see, without being told anything about how the application works, Akamas learned the best settings for some interesting JVM parameters:
it almost tripled the JVM max heap size
it changed the garbage collector from G1 (the default) to Parallel, and it adjusted the number of GC threads
it significantly changed the sizing of the Survivor spaces and the new generation
Those are not easy settings to tune manually!
Another very interesting side benefit is that the optimized configuration not only improved application throughput, but also made Konakart run 23% with respect to the baseline (Configuration Analysis tab):
Also notice how the 3rd best configuration actually improved response time even more (26%).
The significant effects the optimal configuration had on application scalability can be also analyzed by looking at the over-time metrics (Metrics tab).
As you can see, the best configuration highly increased the application scalability and the ability to sustain peak traffic volumes with very low response times. Also notice how Akamas automatically detected the peak throughput achieved by the different configurations while keeping the response time under 100 ms, as per the goal constraints.
As a final but important benefit, the best configuration Akamas identified is also more efficient CPU-wise. As you can see by looking at the jvm.jvm_cpu_used metric, at peak load the CPU consumption of the optimized JVM was more than 20% less than the baseline configuration. This can translate to direct cost savings on the cloud, as it allows using a smaller instance size or container.
Congratulations, you have just done your first Akamas optimization of a real-life Java application in a performance testing environment with JMeter and Prometheus!