Performance tests for rchain network


We don't have any performance tests for the node. `dupe` and `wide` contracts test the RSpace performance and don't create multiple nodes in the network. Any changes that are supposed to improve the performance of the network can't be properly tested. It's more like a hand waving rather than engineering work.

My idea for load tests suite is to create a test suite that will generate network load in the form of multiple blocks being proposed and passed between nodes.

Proposed test:

  • Create a network of *n* nodes,

  • Deploy and propose block on each of the node *m* times, repeat on every node in the network.

  • Run test *10* times, measure parameters that show how node performs under load: memory usage, GC, thread counts ( more to be defined ), discard extremes, take averages.

  • Set recorded averages as reference values in the grafana and create alarms on each of the parameters - if the result of the tests is worse than reference value - trigger an alert informing about potential regression.



Adam Szkoda


Mateusz Gorski


Story Points


Epic Link


Fix versions