Skip to content

Commit

Permalink
Update network_performance.rst
Browse files Browse the repository at this point in the history
  • Loading branch information
svyatmikh committed Jun 7, 2019
1 parent b51ae5d commit 375cfd3
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions doc/network_performance.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,31 @@ To achieve these performance results we completely changed most of ethereum tran

Results of this tuning you may see below:


``peer.go`` class that contains constants that are responsible for queue sizes.

.. code-block:: javascript
:emphasize-lines: 5,10,15
// maxQueuedTxs is the maximum number of transaction lists to queue up before
// dropping broadcasts. This is a sensitive number as a transaction list might
// contain a single transaction, or thousands.
maxQueuedTxs = /*128*/ 16384
// maxQueuedProps is the maximum number of block propagations to queue up before
// dropping broadcasts. There's not much point in queueing stale blocks, so a few
// that might cover uncles should be enough.
maxQueuedProps = /*4*/ 32
// maxQueuedAnns is the maximum number of block announcements to queue up before
// dropping broadcasts. Similarly to block propagations, there's no point to queue
// above some healthy uncle limit, so use that.
maxQueuedAnns = /*4*/ 32
handshakeTimeout = 5 * time.Second
)
* ``tx_pool.go`` class that contains most of logic for the transaction pool:

.. code-block:: javascript
Expand All @@ -28,6 +53,7 @@ Results of this tuning you may see below:
}
After that we added transaction batching.
This kind of transaction packaging lets us to drastically increase network performance without compromising security.
In order to unlock the full potential of this approach, we also had to rework the queue sizes for pending and queued transactions.
Expand Down

0 comments on commit 375cfd3

Please sign in to comment.