Solana Geyser gRPC - prueba de latencia gRPC
Esta guía le mostrará cómo probar la latencia del servidor Solana Geyser gRPC.
Prerrequisitos
Instala SLV CLI:
bash
curl -fsSL https://storage.slv.dev/slv/install | shcurl -fsSL https://storage.slv.dev/slv/install | shPrueba de latencia gRPC
Puede probar fácilmente la latencia del servidor Solana Geyser gRPC con el siguiente comando:
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 usted no tiene un acceso Geyser gRPC, consulte el Geyser gRPC Quickstart guía.
Ejecute el cheque de la latencia
Para probar un endpoint compartido directamente, ejecute el siguiente comando con su propio endpoint:
bash
slv check grpc --endpoint <YOUR_ENDPOINT> --token noneslv check grpc --endpoint <YOUR_ENDPOINT> --token noneEjemplo:
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 msLa prueba procederá a comprobar la latencia del servidor Geyser gRPC.
Puede detener la prueba pulsando
Ctrl + C.Referencia: comprender la latencia de gRPC
Al medir la latencia del gRPC, puede ver valores de más de un segundo. Esto puede inicialmente sentirse "lento", pero recuerde que el tiempo de bloqueo de Solana sólo se registra en el segundo nivel: los milisegundos están truncados.
Conexión en la misma región
En primer lugar, asegúrese de que su servidor se encuentra en la misma región que el endpoint del gRPC. Por ejemplo, si se conecta a
grpc-ams1.erpc.global, debe colocar su servidor en Amsterdam así como para minimizar latencia de la red.¿Por qué podrías ver "Más de 1 segundo"?
Considere una transacción que realmente ocurre a las 07:46:46.900, pero Solana lo registra como 07:46:46.000Si lo recibes a las 07:46:47.200, un cálculo directo produce:
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 secondsA primera vista, esto parece 1.2 segundos de latencia. Sin embargo, porque la transacción realmente sucedió a las 07:46:46.900, la latencia real es sólo unos 300ms:
07:46:47.200 - 07:46:46.900 = 0.3 segundos.
Extrayendo 500ms como una aproximación
Debido a que Solana baja hasta el segundo más cercano, no sabemos exactamente dónde en ese segundo tuvo lugar la transacción. Una aproximación razonable es asumir un punto medio (500ms), por lo que la fórmula se convierte en:
text
(Receive Time) - (Block Time + 0.5 seconds)(Receive Time) - (Block Time + 0.5 seconds)Aunque no es perfectamente preciso, esto ayuda a compensar los datos faltantes de milisegundos, proporcionando una estimación más cercana de la latencia real del gRPC.
Manteniendo estas consideraciones en mente, usted puede medir con más precisión Solana Geyser gRPC latencia. La grabación de tiempo de segundo nivel en Solana requiere tener en cuenta las posibles discrepancias de redondeo, así como asegurar un servidor adecuado y la colocación de endpoint para reflejar el rendimiento del entorno real.