Solana Geyser gRPC - gRPC Latenz Test

Dieser Leitfaden zeigt Ihnen, wie Sie die Latenz des Solana Geyser gRPC Servers testen können.

Voraussetzungen

Installieren Sie SLV CLI:
bash
curl -fsSL https://storage.slv.dev/slv/install | sh

Test gRPC Latenz

Sie können die Latenz des Solana Geyser gRPC-Servers einfach mit folgendem Befehl testen:
bash
slv check grpc --help
Usage:   slv check grpc
Version: 0.9.0

Description:

  Check gRPC endpoint

Options:

  -h, --help              - Show this help.
  --endpoint  <endpoint>  - gRPC endpoint URL
  --token     <token>     - Token for authentication
Wenn Sie keinen Geyser gRPC Access haben, lesen Sie bitte das Geysir gRPC Schnellstart Führung.

Latenzprüfung starten

Um einen gemeinsamen Endpunkt direkt zu testen, führen Sie den folgenden Befehl mit Ihrem eigenen Endpunkt aus:
bash
slv check grpc --endpoint <YOUR_ENDPOINT> --token none
Beispiel:
bash
  ~ slv check grpc --endpoint http://grpc-ams1.erpc.global --token none
Checking gRPC endpoint: http://grpc-ams1.erpc.global
Current latency: 540 ms, slots: 0
Avg latency: 540 ms
Current latency: 962 ms, slots: 1
Avg latency: 751 ms
Current latency: 394 ms, slots: -1
Avg latency: 632 ms
Current latency: 776 ms, slots: 0
Avg latency: 668 ms
Current latency: 1157 ms, slots: 1
Avg latency: 765.8 ms
Current latency: 529 ms, slots: 0
Avg latency: 726.3333333333334 ms
Current latency: 891 ms, slots: 1
Avg latency: 749.8571428571429 ms
Current latency: 249 ms, slots: -1
Avg latency: 687.25 ms
Der Test wird dann die Latenz des Geyser gRPC Servers überprüfen.
Sie können den Test durch Pressen stoppen Ctrl + C.

Referenz: Verstehen von gRPC Latenz

Beim Messen von gRPC-Latenz können Sie Werte von über einer Sekunde sehen. Dies kann sich zunächst "langsam" fühlen, aber denken Sie daran, dass Solanas Blockzeit nur auf der zweiten Ebene aufgezeichnet wird - Millisekunden werden verkürzt.

Verbindung in der gleichen Region

Stellen Sie zunächst sicher, dass sich Ihr Server in der gleichen Region wie der gRPC Endpunkt befindet. Zum Beispiel, wenn Sie mit grpc-ams1.erpc.global, Sie sollten Ihren Server in Amsterdam sowie Netzwerk-Latenz zu minimieren.

Warum Sie sehen “Over 1 Second” Latenz

Betrachten Sie eine Transaktion, die tatsächlich um 07:46 auftritt:46.900, aber Solana registriert es als 07:46:46.000. Wenn Sie es bei 07:46 erhalten:47.200, eine einfache Berechnungsausbeute:
text
(Receive Time) - (Block Time)
= 07:46:47.200 - 07:46:46.000
= 1.2 seconds
Auf den ersten Blick sieht das so aus 1.2 Sekunden Latenz. Allerdings, weil die Transaktion wirklich um 07:46:46.900, die tatsächliche Latenz ist nur etwa 300 ms: 07:46:47.200 - 07:46:46.900 = 0.3 Sekunden.

Subtraktion von 500 ms als Annäherung

Weil Solana auf die nächste Sekunde zurückgeht, wissen wir nicht genau, wo in dieser Sekunde die Transaktion stattgefunden hat. Eine vernünftige Näherung ist, einen Mittelpunkt (500 ms) anzunehmen, so wird die Formel:
text
(Receive Time) - (Block Time + 0.5 seconds)
Obwohl nicht genau, hilft dies, die fehlenden Millisekunden-Daten zu kompensieren und eine genauere Schätzung der tatsächlichen GRPC-Latenz zu liefern.
Indem Sie diese Überlegungen im Auge behalten, können Sie Solana Geyser gRPC Latenz genauer messen. Die Zeitaufzeichnung auf der zweiten Ebene auf Solana erfordert die Faktoren in potenziellen Rundungsabweichungen, sowie die Sicherstellung der richtigen Server- und Endpunktplatzierung, um die reale Leistung zu reflektieren.