Performance Testing Environment
Overview
This page outlines the performance testing environment that PTF uses for Q2.
FOLIO
PTF uses a FOLIO testing environment that's deployed by FSE running in FSE's AWS account. This environment has 27 million inventory records in total, and about 17 thousand acquisition records. The FOLIO modules are distributed randomly over 4 ec2 nodes.
Carrier-io
Carrier-io is an open-source performance testing framework that PTF uses to carry out performance testing. Test results are displayed on Grafana dashboards: http://ec2-3-82-14-199.compute-1.amazonaws.com/grafana/
Jenkins
PTF uses the community's Jenkins. There are two Jenkins job, one is carrier-io and carrier-io-shutdown-load-generator.
The carrier-io job can be used, and designed to be used, with FSE's FOLIO environment. Because it's running outside of FSE's account and cannot access FSE resources, the stages to install and remove telegraf are factored out into the job "telegraf" in FSE's Jenkins. Additionally, the last stage to delete the load generator stack is still broken, so the carrier-io-shutdown-load-generator job is created to execute that last stage alone.
Steps to use this job:
1. Kick off the build on the [telegraf] job to start monitoring the ec2-nodes. It will halt its execution and requires manual input to run to completion. When kicking it off, telegraf will be installed on all the nodes. When manually pressing the button to proceed, it will uninstall telegraf.
2. Kick off a build on carrier-io job
3. When the test finishes, run carrier-io-shutdown-load-generator to tear down the load generator stack
4. Go to the the Console Output of the [telegraf job] to resume executing it to uninstall telegraf.
Note that these steps can be optimized further, so stay tuned for changes!