Run FT benchmark with multiple nodes
We want to repeat FT benchmark with a larger network, at least 5 nodes and check whether the throughput for the experiment with larger gas limit stays roughly the same.
The most promising approach seems to be reusing the Mocknet setup [1] as it already has tooling to start a network of NEAR nodes with the same genesis. I started on this path by creating a Terraform script https://github.com/Near-One/infra-ops/tree/main/provisioning/terraform/infra/network/mocknet/crt-benchmark, but didn't manage to get mirror.py working with it. Maybe it's work just starting from scratch and get something working and then change it towards a benchmark-specific setup.
[1] https://docs.nearone.org/doc/how-to-run-old-mirror-test-n1-version-Xada8aWAED
We have successfully ran the FT benchmark on multiple nodes by reusing ForknetV2 setup (huge thanks to @marcelo-gonzalez , @VanBarbascu for hand-holding me while doing this).
The relevant Terraform scripts can be found here: https://github.com/Near-One/infra-ops/tree/main/provisioning/terraform/infra/network/mocknet/ft-bench
The instructions on how to run this are now in Outline but will later be also migrated to GitHub.
A preliminary results show that we can reach an FT transfer throughput similar to the run on a single node:
- 850 TPS with no contract state
- 600 TPS with contract state
The bottleneck seems to be the same as in the single-node run and those will be investigated separately.