Optimizing a web application

In this study, Akamas will optimize a web application by tuning the JVM parameters. The workflow leverages NeoLoad’s load generator to gather metrics through the dedicated NeoLoad Web operator and the NeoLoad Web provider.

Optimization setup

System

The following snippets contain the system definition composed by a JVM running the petstore web application.

System: webapplication

name: webapplication
description: Petstore server

Component: jvm

name: jvm
description: JVM underlying the petstore application
componentType: openjdk-11
properties:
  instance: "petstore"

Component: webapp

name: webapp
description: Petstore web-application
componentType: Web Application

Telemetry instance: NeoLoadWeb

Workflow

Here’s a workflow that creates a new configuration file by interpolating the tuned parameters in a template file, restarts the application to apply the parameters, and triggers the execution of a load test:

Study

Here’s a study in which Akamas tries to minimize the Java memory consumption by acting only on the heap size and on the type of garbage collector.

The web application metrics are used in the constraints to ensure the configuration does not degrade the service performances (throughput, response time, and error rate) below the acceptance level.

Last updated

Was this helpful?