Paritäts-TPS-Optimierung - bitte helfen Sie

Wie beschleunigt man Paritäts-PoA?

Ich bin gewesen

Benchmarking verschiedener Ethereum-Clients

mit einem Fokus auf ihre PoA-Fähigkeiten. Aktuelle Ergebnisse sind :

56 TPS mit Paritätsaura
322 TPS mit Geth-Clique

bei Ausführung auf einer Amazon AWS t2.xlarge -Maschine.

Ich habe keine gute Erklärung für diese große Diskrepanz. Ich glaube nicht, dass die Parität so viel langsamer ist, aber ich habe noch keine optimierenden Konfigurationsoptionen gefunden, die sie weiter vorantreiben würden.

Wie verwende ich mein „Kettenhammer“-Benchmarking-Tool? Entweder

(1) Klonen Sie die hier beschriebene fertige Amazon AWS-Maschine (8 Minuten) oder
(2) befolgen Sie diese genauen Anweisungen , um alles zu installieren (~ 20 Minuten?)

Warum frage ich hier?
Das Parity-Team hat jetzt keine Zeit dafür - also hoffe ich, dass irgendein anderer Parity-Experte uns helfen kann.

TL;DR: Helfen Sie uns, die Paritäts-PoA mit einigen cleveren Befehlszeilenschaltern zu beschleunigen . Vielen Dank.

Antworten (1)

Ich hatte vor einiger Zeit ein ähnliches Problem, es gab einen Engpass bei der Zeit, die Transaktionen brauchten, um den Mempool zu erreichen, dies lag an der Art und Weise, wie ich sie gesendet habe, und der Tatsache, dass sie auf Knotenebene signiert wurden. Das fügte einen ziemlich großen Overhead hinzu.

Die Lösung, die ich gefunden habe, besteht darin, eine realere Umgebung zu replizieren.

  1. Alle Transaktionen lokal signieren (vorsignieren)
  2. Senden Sie sie asynchron an den Knoten (warten Sie nicht auf die Quittung). Der beste Weg, den ich gefunden habe, war das Senden signierter Transaktionen über RPC-Aufrufe
  3. Senden Sie sie an verschiedene Validator-Knoten (Dieser letzte wird die kleinste Verbesserung bringen)

Danach sollten Sie eine (für eine Weile) linearere Beziehung zwischen der Blockzeit und dem Blockgaslimit vs. TPS sehen

Viel Glück!