algorand / indexer

searchable history and current state

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

performance: Create performance testing tool

winder opened this issue · comments

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.

Some experiments have been started here: https://github.com/algorand/go-algorand-ci/pull/467