# \[AIAB-02] Explore the results

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

#### Application throughput increased by 30% <a href="#user-content-application-throughput-increased-by-30" id="user-content-application-throughput-increased-by-30"></a>

By optimally configuring the application configurations (JVM options), Akamas increased the application throughput by 30%:

<figure><img src="/files/IoL7LEoknk0K8u9NBT1A" alt=""><figcaption></figcaption></figure>

#### The automatic optimization took 15 hours

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:

<figure><img src="/files/4FAmPLcubJxrXpO6P924" alt=""><figcaption></figcaption></figure>

#### How did Akamas achieve that? A look at the best configurations <a href="#user-content-how-did-akamas-achieve-that-a-look-at-the-best-configurations" id="user-content-how-did-akamas-achieve-that-a-look-at-the-best-configurations"></a>

In the **Summary** tab you can quickly see the optimal JVM configuration Akamas found:

<figure><img src="/files/fvtqbcTZAK20BGjM2Bq9" alt=""><figcaption></figcaption></figure>

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!

#### Besides increasing throughput, Akamas also made the application run 23% faster <a href="#user-content-besides-increasing-throughput-akamas-also-made-the-application-run-23-faster" id="user-content-besides-increasing-throughput-akamas-also-made-the-application-run-23-faster"></a>

Another very interesting side benefit is that the optimized configuration not only improved application throughput, but also made Konakart run 23% faster than the baseline (**Configuration Analysis** tab):

<figure><img src="/files/tDEauYno0Z6Jc7a9dya4" alt=""><figcaption></figcaption></figure>

Also notice how the 3rd best configuration actually improved response time even more (26%).

#### The best configuration significantly increased application scalability and resiliency <a href="#user-content-the-best-configuration-significantly-increased-application-scalability-and-resiliency" id="user-content-the-best-configuration-significantly-increased-application-scalability-and-resiliency"></a>

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.

<figure><img src="/files/7r2E3Pmk54CP3k8VVClC" alt=""><figcaption></figcaption></figure>

#### The best configuration made the application run more efficiently on the CPU (hence less costly on the cloud)

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.

<figure><img src="/files/HOiP5zryQk2OmkofE2z9" alt=""><figcaption></figcaption></figure>

Congratulations, you have just done your first Akamas optimization of a real-life Java application in a performance testing environment with JMeter and Prometheus!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.akamas.io/quick-guides/quick-guides-akamas-in-a-box/aiab-02-optimize-a-java-based-application-konakart-with-jmeter/aiab-02-explore-the-results.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
