Skip to content

Instantly share code, notes, and snippets.

@joeaba
Created June 7, 2022 02:35
Show Gist options
  • Save joeaba/aba74e87dcd45c132a1ba2ddcaa2af7c to your computer and use it in GitHub Desktop.
Save joeaba/aba74e87dcd45c132a1ba2ddcaa2af7c to your computer and use it in GitHub Desktop.
bench-tps stress tests
We have two types of bench-tps stress tests running ATM the UDP one and the QUIC one, check #bench-tps-dos-results channel for reference.
Both tests run the solana-bech-tps client, there are just some flags that change.
The UDP run does:
solana-bench-tps -u http://34.83.161.134 --identity testnet-dos-funder.json --use-tpu-client --read-client-keys keypair-configs/large-keypairs.yaml --duration 1800 --tx_count 10000 --thread-batch-sleep-ms 1
It uses just 1 client
The QUIC run does:
solana-bench-tps -u http://34.83.161.134 --identity testnet-dos-funder.json --use-tpu-client --sustained --tpu-use-quic --read-client-keys keypair-configs/large-keypairs.yaml --duration 1800 --tx_count 2000
It uses 10 client
What do we need?
A new pipeline that creates X clients on GCP (n1-standard-32), builds the latest 1.10 and master, runs the tests above based on the args specified and then reports to slack.
Similar to what we have for: https://buildkite.com/solana-labs/system-performance-tests
1) The pipeline should run on Buildkite nightly for 1.10 and master
2) The pipeline should be executed based on the variables provided:
a) number_of_clients (default 1 for UDP and 10 for QUIC) --> number of GCP clients to create
b) use_tpu_client (boolean, if true --use-tpu-client, if false --use-rpc-client)
c) tpu_use_quic (boolean, if true --tpu-use-quic, if false nothing) --> false does UDP
d) sustained (boolean, if true --sustained, if false nothing)
e) duration (default --duration 1800)
f) tx_count (--tx_count 10000 for the UDP test and --tx_count 2000 per client for the QUIC test)
g) thread_batch_sleep ( --thread-batch-sleep-ms 1 for UDP --thread-batch-sleep-ms 10 for QUIC)
3) After the test is done the instances should be removed, use preemptible instances to save cash
4) After the test is done a slack report should be generated, exactly the same as the one on #bench-tps-dos-results. It has two parts, first the test configuration and the result details.
5) All the result details should be fetched from influx cloud
Keys to run the bench-tps:
https://transfer.sh/XrL4nJ/keypairs.tar.gz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment