You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Geth version: geth v1.5.3-beta
OS & Version: linux
Commit hash : (if develop)
Expected behaviour
In the QA network, there are 10 validators running on a single machine.
The number of peers should remain stable during benchmarking.
Actual behaviour
number of peer shakes during beachmark.
However, peer connections fluctuate during the benchmark due to the following reasons:
Validator A only broadcasts the block hash to Validator B. Upon receiving it, Validator B starts a timer to fetch the block header and body within 10 seconds. If this process is not completed in time, Validator B will drop the peer connection.
At the same time, Validator A continuously sends a large number of transactions to Validator B. Many of these transactions do not arrive at the optimal time and are rejected from the transaction pool due to a nonce too low error. Validator B then pauses for 200 milliseconds before resuming the reception of transactions from Validator A.
The requests to fetch the block header and body are processed in between these incoming transactions. This causes delays, preventing Validator B from receiving the block header and body in time, ultimately leading to a dropped peer connection.
The higher the TPS, the more pronounced the issue becomes theoretically.
Steps to reproduce the behaviour
Backtrace
[backtrace]
When submitting logs: please submit them as text and not screenshots.
The text was updated successfully, but these errors were encountered:
System information
Geth version:
geth v1.5.3-beta
OS & Version: linux
Commit hash : (if
develop
)Expected behaviour
In the QA network, there are 10 validators running on a single machine.
The number of peers should remain stable during benchmarking.
Actual behaviour
number of peer shakes during beachmark.
However, peer connections fluctuate during the benchmark due to the following reasons:
Validator A only broadcasts the block hash to Validator B. Upon receiving it, Validator B starts a timer to fetch the block header and body within 10 seconds. If this process is not completed in time, Validator B will drop the peer connection.
At the same time, Validator A continuously sends a large number of transactions to Validator B. Many of these transactions do not arrive at the optimal time and are rejected from the transaction pool due to a
nonce too low
error. Validator B then pauses for 200 milliseconds before resuming the reception of transactions from Validator A.The requests to fetch the block header and body are processed in between these incoming transactions. This causes delays, preventing Validator B from receiving the block header and body in time, ultimately leading to a dropped peer connection.
The higher the TPS, the more pronounced the issue becomes theoretically.
Steps to reproduce the behaviour
Backtrace
When submitting logs: please submit them as text and not screenshots.
The text was updated successfully, but these errors were encountered: