performance: Create performance testing tool
winder opened this issue · comments
Will Winder commented
Create a performance testing tool to facilitate a public network catchup. It should automate installation, configuration, and test execution.
A script that we can use to request different test configurations, and receive test results.
Inputs:
- Conduit version to test identified by a repo / branch / commit hash.
- Conduit configuration (though for this story we only want to test one config)
- Indexer data directory storage:
- EBS (gp1/gp2/io1/io2/etc), provisioned IOPS
- Ephemeral NVMe / NVMe mapping
- Database:
- version of postgres.
- co-located with Indexer.
- RDS & RDS configuration.
could put the script in go-algorand-ci.
out of scope follow-ups
Output:
- Prometheus metrics.
- Grafana dashboard.
- Runtime to specific round
- i.e. every 5 million rounds records how long it took to get there.
- this probably available by querying prometheus, so it may be optional.
set up Jenkins job (or similar) to run this periodically
This test is intended to be a starting point, so keep in mind that in the future we might want to include data sets beyond mainnet.
Will Winder commented
Some experiments have been started here: https://github.com/algorand/go-algorand-ci/pull/467