nearcore icon indicating copy to clipboard operation
nearcore copied to clipboard

Run FT benchmark with multiple nodes

Open aborg-dev opened this issue 1 year ago • 1 comments

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.

aborg-dev avatar Jun 03 '24 11:06 aborg-dev

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

aborg-dev avatar Jun 18 '24 09:06 aborg-dev

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.

aborg-dev avatar Jul 17 '24 11:07 aborg-dev