Solana Geyser gRPC - gRPC Latentietest

Deze handleiding laat u zien hoe u de latentie van de Solana Geyser gRPC-server kunt testen.

Vereisten

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

gRPC-latentie testen

U kunt eenvoudig de latentie van de Solana Geyser gRPC-server testen met het volgende commando:
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
Als u geen Geyser gRPC-toegang heeft, raadpleeg dan de Geyser gRPC Snelstart handleiding.

De latentiecontrole uitvoeren

Gedeelde gRPC-endpoints vereisen geen x-token meer. Geef --token none mee en test uw regionale endpoint direct:
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
De test controleert vervolgens de latentie van de Geyser gRPC-server.
U kunt de test stoppen door op Ctrl + C te drukken.

Referentie: gRPC-latentie begrijpen

Bij het meten van gRPC-latentie kunt u waarden van meer dan een seconde zien. Dit kan aanvankelijk "traag" aanvoelen, maar onthoud dat Solana's bloktijd alleen op secondeniveau wordt geregistreerd — milliseconden worden afgekapt.

Verbinden in dezelfde regio

Zorg er allereerst voor dat uw server zich in dezelfde regio bevindt als het gRPC-endpoint. Als u bijvoorbeeld verbinding maakt met grpc-ams1.erpc.global, moet u uw server ook in Amsterdam plaatsen om de netwerklatentie te minimaliseren.

Waarom u "meer dan 1 seconde" latentie kunt zien

Stel dat een transactie feitelijk plaatsvindt om 07:46:46.900, maar Solana registreert het als 07:46:46.000. Als u het ontvangt om 07:46:47.200, levert een eenvoudige berekening op:
text
(Ontvangsttijd) - (Bloktijd)
= 07:46:47.200 - 07:46:46.000
= 1,2 seconden
Op het eerste gezicht lijkt dit op 1,2 seconden latentie. Maar omdat de transactie werkelijk plaatsvond om 07:46:46.900, is de werkelijke latentie slechts ongeveer 300ms: 07:46:47.200 - 07:46:46.900 = 0,3 seconden.

500ms aftrekken als benadering

Omdat Solana naar beneden afrondt op de dichtstbijzijnde seconde, weten we niet precies waar in die seconde de transactie plaatsvond. Een redelijke benadering is om een middelpunt (500ms) aan te nemen, dus de formule wordt:
text
(Ontvangsttijd) - (Bloktijd + 0,5 seconden)
Hoewel niet perfect precies, helpt dit om de ontbrekende milliseconde-gegevens te compenseren, waardoor een nauwkeurigere schatting van de werkelijke gRPC-latentie wordt verkregen.
Door deze overwegingen in gedachten te houden, kunt u de Solana Geyser gRPC-latentie nauwkeuriger beoordelen. De registratie op secondeniveau bij Solana vereist dat rekening wordt gehouden met mogelijke afrondingsverschillen, evenals het zorgen voor een juiste plaatsing van server en endpoint om real-world prestaties weer te geven.