Solana Geyser gRPC - gRPC Latency Test

Bu kılavuz, Solana Geyser gRPC sunucusunun gecikmesini nasıl test edeceğinizi gösterecektir.

Ön Koşullar

SLV CLI'yi yükleyin:
bash
curl -fsSL https://storage.slv.dev/slv/install | sh

gRPC Gecikmesini Test Edin

Aşağıdaki komutla Solana Geyser gRPC sunucusunun gecikmesini kolayca test edebilirsiniz:
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
Bir Geyser gRPC erişiminiz yoksa, lütfen Geyser gRPC Hızlı Başlangıç kılavuzuna bakın.

Gecikme Kontrolünü Çalıştırın

Paylaşılan bir endpoint'i doğrudan test etmek için, aşağıdaki komutu kendi endpoint'inizle çalıştırın:
bash
slv check grpc --endpoint <YOUR_ENDPOINT> --token none
Örnek:
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
Test daha sonra Geyser gRPC sunucusunun gecikmesini kontrol etmeye devam edecektir.
Testi Ctrl + C tuşlarına basarak durdurabilirsiniz.

Referans: gRPC Gecikmesini Anlamak

gRPC gecikmesini ölçerken, bir saniyenin üzerinde değerler görebilirsiniz. Bu başlangıçta "yavaş" gibi hissettirebilir, ancak Solana'nın blok zamanının yalnızca saniye düzeyinde kaydedildiğini—milisaniyelerin kesilip atıldığını—unutmayın.

Aynı Bölgede Bağlanma

İlk olarak, sunucunuzun gRPC endpoint'i ile aynı bölgede bulunduğundan emin olun. Örneğin, grpc-ams1.erpc.global adresine bağlanıyorsanız, ağ gecikmesini en aza indirmek için sunucunuzu da Amsterdam'a yerleştirmelisiniz.

Neden "1 Saniyenin Üzerinde" Gecikme Görebilirsiniz

Aslında 07:46:46.900'de gerçekleşen, ancak Solana'nın 07:46:46.000 olarak kaydettiği bir işlemi düşünün. Bunu 07:46:47.200'de alırsanız, basit bir hesaplama şunu verir:
text
(Receive Time) - (Block Time)
= 07:46:47.200 - 07:46:46.000
= 1.2 seconds
İlk bakışta, bu 1.2 saniyelik bir gecikme gibi görünür. Ancak, işlem gerçekte 07:46:46.900'de gerçekleştiği için, asıl gecikme yalnızca yaklaşık 300ms'dir: 07:46:47.200 - 07:46:46.900 = 0.3 saniye.

Yaklaşık Değer Olarak 500ms Çıkarma

Solana en yakın saniyeye yuvarladığı için, işlemin o saniyenin tam olarak neresinde gerçekleştiğini bilemeyiz. Makul bir yaklaşım, bir orta nokta (500ms) varsaymaktır, böylece formül şöyle olur:
text
(Receive Time) - (Block Time + 0.5 seconds)
Mükemmel derecede kesin olmasa da, bu yöntem eksik milisaniye verilerini telafi etmeye yardımcı olarak gerçek gRPC gecikmesine daha yakın bir tahmin sağlar.
Bu hususları göz önünde bulundurarak, Solana Geyser gRPC gecikmesini daha doğru bir şekilde değerlendirebilirsiniz. Solana'daki saniye düzeyindeki zaman kaydı, olası yuvarlama farklılıklarını hesaba katmayı ve gerçek dünya performansını yansıtmak için doğru sunucu ile endpoint yerleşimini sağlamayı gerektirir.