davidkel / provision-performance

1 stars 0 forks source link

Document how to determine the theoretical maximum TPS of the SUT #5

Open davidkel opened 2 years ago

davidkel commented 2 years ago

Stage 1

This requires a single benchmark file that performs evaluate on the empty-contract transaction this will also define the maximum resources caliper requires to drive the SUT it's the theoretical maximum because it will never be exceeded you need to watch the cpu of the vm as well as each of the node worker processes to determine the ideal number of workers and spread across VMs using fixed-tps play with the tps value to find the optimal value Watch the unfinished transactions output of caliper. If it continually increases then the system is overloaded

Stage 2

Move to a create asset (blind write) type of say 100 bytes there is a tipping point where more configured tps load results in worse values than a slightly lower tps to determine theoretical maximum which includes a write

Stage 3

Could also do the same for a single read as well to get another theoretical maximum

Ideal VM and worker per VM Setup

This I would hope allow to also determine the optimal caliper setup

  1. How many worker VMs
  2. how many workers for each VM (each VM may be different of course), use htop to see load of node processes
davidkel commented 2 years ago

Another thing to note with caliper is I generally find a good starting point for number of worker processes per VM/BM is 1.5 * no. of cores or vcpus