Solana Geyser gRPC - Kiểm tra độ trễ gRPC
Hướng dẫn này sẽ cho bạn biết cách kiểm tra độ trễ của server Solana Geyser gRPC.
Điều kiện tiên quyết
Cài đặt SLV CLI:
bash
curl -fsSL https://storage.slv.dev/slv/install | shcurl -fsSL https://storage.slv.dev/slv/install | shKiểm tra độ trễ gRPC
Bạn có thể dễ dàng kiểm tra độ trễ của server Solana Geyser gRPC với lệnh sau:
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 authenticationNếu bạn chưa có quyền truy cập Geyser gRPC, vui lòng tham khảo Hướng dẫn nhanh Geyser gRPC.
Chạy kiểm tra độ trễ
Endpoint gRPC chia sẻ không còn yêu cầu
x-token. Truyền --token none và kiểm tra trực tiếp endpoint trong khu vực của bạn: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 msSau đó bài kiểm tra sẽ tiến hành kiểm tra độ trễ của server Geyser gRPC.
Bạn có thể dừng kiểm tra bằng cách nhấn
Ctrl + C.Tham khảo: Hiểu về độ trễ gRPC
Khi đo độ trễ gRPC, bạn có thể thấy giá trị trên một giây. Điều này ban đầu có thể cảm thấy "chậm", nhưng hãy nhớ rằng thời gian block của Solana chỉ được ghi nhận ở cấp giây — mili giây bị cắt bỏ.
Kết nối trong cùng khu vực
Trước tiên, hãy đảm bảo server của bạn nằm trong cùng khu vực với endpoint gRPC. Ví dụ, nếu bạn kết nối đến
grpc-ams1.erpc.global, bạn nên đặt server ở Amsterdam để giảm thiểu độ trễ mạng.Tại sao bạn có thể thấy độ trễ "Trên 1 giây"
Xem xét một transaction thực sự xảy ra lúc 07:46:46.900, nhưng Solana ghi nhận là 07:46:46.000. Nếu bạn nhận được lúc 07:46:47.200, phép tính đơn giản cho ra:
text
(Thời gian nhận) - (Thời gian Block)
= 07:46:47.200 - 07:46:46.000
= 1.2 giây(Thời gian nhận) - (Thời gian Block)
= 07:46:47.200 - 07:46:46.000
= 1.2 giâyThoạt nhìn, điều này trông giống như 1.2 giây độ trễ. Tuy nhiên, vì transaction thực sự xảy ra lúc 07:46:46.900, độ trễ thực tế chỉ khoảng 300ms:
07:46:47.200 - 07:46:46.900 = 0.3 giây.
Trừ 500ms như một xấp xỉ
Vì Solana làm tròn xuống giây gần nhất, chúng ta không biết chính xác transaction xảy ra ở đâu trong giây đó. Một xấp xỉ hợp lý là giả định điểm giữa (500ms), nên công thức trở thành:
text
(Thời gian nhận) - (Thời gian Block + 0.5 giây)(Thời gian nhận) - (Thời gian Block + 0.5 giây)Mặc dù không hoàn toàn chính xác, điều này giúp bù đắp dữ liệu mili giây bị thiếu, cung cấp ước tính gần hơn về độ trễ gRPC thực tế.
Bằng cách ghi nhớ những điều này, bạn có thể đánh giá chính xác hơn độ trễ Solana Geyser gRPC. Việc ghi nhận thời gian ở cấp giây trên Solana đòi hỏi phải tính đến sự chênh lệch làm tròn tiềm năng, cũng như đảm bảo việc đặt server và endpoint đúng để phản ánh hiệu suất thực tế.