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 | shcurl -fsSL https://storage.slv.dev/slv/install | shgRPC-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 authenticationslv 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 authenticationAls 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➜ ~ 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 msDe 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(Ontvangsttijd) - (Bloktijd)
= 07:46:47.200 - 07:46:46.000
= 1,2 secondenOp 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)(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.