Closed volovyks closed 6 months ago
Why did we have that 1000ms delay in the first place?
@DavidM-D Without any delay Node will make too many RPC calls. Reading logs on the flight is also a bit easier.
success
success
Pusher: @volovyks, Action: pull_request
, Working Directory: `, Workflow:
Terraform Feature Env`
URL: https://mpc-recovery-leader-dev-512-7tk2cmmtcq-ue.a.run.app
I've changed the design. On a top level, we want to exchange and process messages ASAP, in all states. At the same time, we do not want to read the contract state every X milliseconds, it should not change that often and we should not DDoS RPC. I think the best option here is to have 0 delay for protocol and message processing and 1s delay for consensus. This strategy gave me the same results as no delays at all.
success
success
Pusher: @volovyks, Action: pull_request
, Working Directory: `, Workflow:
Terraform Feature Env (Destroy)`
This change allowed me to run tests 2 times faster. All the infra setup time is the same, so that is probably 4x+ in performance for the protocol itself. The downside is we will have more requests to RPC.
2 and 100ms are chosen empirically. Gives me the same results as 0 delay.
(tested with 3 nodes, but should help with our scaling problem)