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 through the dedicated NeoLoad Web operator and the NeoLoad Web provider to gather the metrics.

Optimization setup

System

The following snippets contain the definition of the system 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 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 in order 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?