near / nearcore

Reference client for NEAR Protocol
https://near.org
GNU General Public License v3.0
2.34k stars 632 forks source link

[Tracking & Design]: FT benchmark workload generation and tooling improvements #12119

Open mooori opened 2 months ago

mooori commented 2 months ago

Goals

Building blocks

The following functionality should be generic enough to allow re-using it for other workloads:

FT workload implementation

Above building blocks should be sufficient to implement the ft workload consisting of:

Principles

Sequential initialization

Contract and state initialization should be sequential, to dedicate all resources to it.

Tested workload generation

Executing a command like cargo test should suffice to invoke a test suite for the code that generates the workload.

Use a well maintained RPC library

There are frequent changes to NEAR RPC standards and methods. A well maintained RPC library should handle such changes and minimize the work required to adapt workload generation to RPC changes.

Auto generate tps numbers and further data

After running a workload, a report should be printed containing:

mooori commented 1 month ago

A status update is available here.