Optimizing a web application
PreviousModeling a sample Java-based e-commerce application (Konakart)NextOptimizing a sample Java OpenJ9 application
Last updated
Was this helpful?
Was this helpful?
provider: NeoLoadWeb
config:
accountToken: NLW_TOKENname: neoloadweb_wf
tasks:
- name: Set Java parameters
operator: FileConfigurator
arguments:
source:
hostname: app.petstore.com
username: ubuntu
key: # ...
path: /home/ubuntu/akamas/conf_template
target:
hostname: app.petstore.com
username: ubuntu
key: # ...
path: /home/ubuntu/akams/jvm.conf
- name: Restart JVM
operator: Executor
arguments:
command: bash /home/ubuntu/akamas/configure_and_restart.sh
host:
# script location ...
- name: run NeoLoadWeb load test
operator: NeoLoadWeb
arguments:
accountToken: NLW_TOKEN
projectFile:
# projectfile location ...name: optimize_webapp_memory
system: webapplication
workflow: neoloadweb_wf
goal:
objective: minimize
function:
formula: heap
variables:
heap:
metric: jvm.jvm_maxHeapSize
constraints:
- metric: webapp.transactions_throughput
greaterThan: 300
- metric: webapp.transactions_response_time_max
lowerThan: 6500
- metric: webapp.transactions_response_time
lowerThan: 600
- metric: webapp.transactions_error_rate
lowerThan: 0.1
parametersSelection:
- name: jvm.jvm_maxHeapSize
domain: [16, 2000]
- name: jvm.jvm_gcType
categories: [-XX:+UseG1GC, -XX:+UseParallelGC, -XX:+UseConcMarkSweepGC, -XX:+UseSerialGC]
numberOfTrials: 3
steps:
- name: baseline
type: baseline
values:
jvm.jvm_maxHeapSize: 2000
jvm.jvm_gcType: -XX:+UseG1GC
- name: optimization
type: optimize
numberOfExperiments: 99
maxFailedExperiments: 25