Description
Since the APM Server we want to benchmark will be running in ESS (generally gcp-us-west2 or gcp-europe-west1 since those are the Cloud-first test regions), the apmbench binary should be run as close to it as possible. For that purpose, we should create a Terraform module which:
- Creates a VM with a CPU intensive profile (since there's going to be a decent amount of concurrency when running a medium/high number of
-agents flag). c6i.4xlarge or c6i.2xlarge have worked well in the tests I've run.
- Uploads a file with all the necessary environment variables exported which is then read or sourced before
apmbench is executed, so it has the credentials.
- Uploads a compiled
apmbench which is compatible with the remote VM architecture.
- Enables
expvar and pprof (has to be done through the Fleet API).
Description
Since the APM Server we want to benchmark will be running in ESS (generally
gcp-us-west2orgcp-europe-west1since those are the Cloud-first test regions), theapmbenchbinary should be run as close to it as possible. For that purpose, we should create a Terraform module which:-agentsflag).c6i.4xlargeorc6i.2xlargehave worked well in the tests I've run.apmbenchis executed, so it has the credentials.apmbenchwhich is compatible with the remote VM architecture.expvarandpprof(has to be done through the Fleet API).