Solana Geyser gRPC - Essai de latence gRPC
Ce guide vous montrera comment tester la latence du serveur Solana Geyser gRPC.
Préalables
Installer SLV CLI:
bash
curl -fsSL https://storage.slv.dev/slv/install | shcurl -fsSL https://storage.slv.dev/slv/install | shEssai de latence gRPC
Vous pouvez facilement tester la latence du serveur Solana Geyser gRPC avec la commande suivante:
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 authenticationSi vous n'avez pas d'accès Geyser gRPC, veuillez consulter le Geyser gRPC Quickstart guide.
Effectuer le contrôle de la latence
Pour tester directement un endpoint partagé, exécutez la commande suivante avec votre propre paramètre:
bash
slv check grpc --endpoint <YOUR_ENDPOINT> --token noneslv check grpc --endpoint <YOUR_ENDPOINT> --token noneExemple:
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 msLe test va ensuite vérifier la latence du serveur Geyser gRPC.
Vous pouvez arrêter le test en appuyant sur
Ctrl + C.Référence: Compréhension de la latence gRPC
Lors de la mesure de la latence gRPC, vous pouvez voir des valeurs de plus d'une seconde. Cela peut d'abord se sentir « faible », mais rappelez-vous que le temps de bloc de Solanas n'est enregistré qu'au deuxième niveau – les millisecondes sont tronquées.
Connexion dans la même région
Tout d'abord, assurez-vous que votre serveur est situé dans la même région que l'endpoint gRPC. Par exemple, si vous vous connectez à
grpc-ams1.erpc.global, vous devriez placer votre serveur à Amsterdam ainsi que pour minimiser la latence du réseau.Pourquoi vous pourriez voir plus de 1 seconde
Envisagez une transaction qui se produit réellement à 07:46:46.900Mais Solana l'enregistre comme 07:46:46.000. Si vous le recevez à 07:46:47.200, un calcul simple donne:
text
(Receive Time) - (Block Time)
= 07:46:47.200 - 07:46:46.000
= 1.2 seconds(Receive Time) - (Block Time)
= 07:46:47.200 - 07:46:46.000
= 1.2 secondsAu premier coup d'œil, on dirait 1.2 secondes de latence. Cependant, parce que la transaction a vraiment eu lieu à 07:46:46.900, la latence réelle est seulement d'environ 300 ms:
07:46:47.200 - 07:46:46.900 = 0.3 secondes.
Soustraction de 500 ms comme approximation
Parce que Solana descend à la seconde la plus proche, nous ne savons pas exactement où dans cette seconde la transaction a eu lieu. Une approximation raisonnable consiste à supposer un point médian (500 ms), de sorte que la formule devient:
text
(Receive Time) - (Block Time + 0.5 seconds)(Receive Time) - (Block Time + 0.5 seconds)Bien qu'il ne soit pas parfaitement précis, cela permet de compenser les données manquantes en millisecondes, fournissant une estimation plus précise de la latence réelle du GRPC.
En gardant ces considérations à l'esprit, vous pouvez évaluer plus précisément la latence Solana Geyser gRPC. L'enregistrement du temps de deuxième niveau sur Solana nécessite de tenir compte des écarts d'arrondi potentiels, ainsi que d'assurer un positionnement adéquat du serveur et de l'endpoint pour refléter les performances réelles.