api-load-test

Created: 2012-03-21 15:04
Updated: 2017-05-22 04:55

README.md

Abiquo API load test

This repo contains Gatling scripts to test the Abiquo API

Run using Maven

Acepted parameters

  • baseUrl abiquo api location
  • numUsers total users to simulate
  • rampTime in seconds, at this time all the numUsers will be running

See gatling.conf for timeout (simulation/request) configuration, by default max simulation time is 2hours and request timeout to 1.6 minutes (!!!). Also check logback.xml to log failed responses.

VirtualResources

$ mvn gatling:execute -Dsimulation=VirtualResources -DbaseUrl=http://10.60.1.223:80 -DnumUsers=10 -DrampTime=30

Each user creates repeat this iteration

  • create a virtual datacenter (''numVdcs'' loop)
  • create a virtual appliance (''numVapps'' loop)
  • create ''numVms'' virtual machin in the virtual appliance
  • deploy the virtual appliance and wait until vapp state is DEPLOYED /!\
  • wait during ''vappDeployTime'' seconds with the vapp in DEPLOYED state
  • if ''powerOffVm'' power off all the vms
  • if ''reconfigure'' 50% chance to increment the CPU of each vm
  • if ''undeployVapp'' undeploy the virtual appliance and wait until vapp state is NOT_DEPLOYED /!\
  • if ''deleteVapp'' deletes the vapp
  • if ''deleteVdc'' deletes the vdc

/!\ NOTE if NEED_SYNCH will try to repeat the action, but for UNKNOWN will wait

Configuration

Users are configured reading a line of each of the follow file sequentially and circular

data/login.csv

  • loginuser
  • loginpassword

data/datacenter.csv : Required setup. Check this configuration is OK in the abiquo API before running the simulation.

  • datacenterId
  • hypervisorType
  • templateId

NOTE: it is important to check templateId is compatible with hypervisorType.

data/virtualdatacenter.csv : Define the number of iterations

  • numVdcs
  • numVapps
  • numVms

data/virtualmachine.csv

  • vappDeployTime
  • powerOffVm
  • reconfigure
  • undeployVapp
  • deleteVapp
  • deleteVdc

Output

  • results/run... gatling reports
  • abiquo.log abiquo deploy specific

At the end of each deploy/undeploy prints iteration numbers

  • vappId virtual appliance identifier
  • deployMs time from NOT_ALLOCATED to DEPLOYED virtual appliance
  • undeployMs time from DEPLOYED to NOT_DEPLOYED/UNKNOWN

and a summary of all the virtual machine jobs:

  • vm taskType jobType state creation timestamp
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more