Solana Geyser gRPC - ทดสอบความหน่วงของ gRPC
คู่มือนี้จะแสดงวิธีทดสอบความหน่วง (latency) ของเซิร์ฟเวอร์ Solana Geyser gRPC
สิ่งที่ต้องเตรียม
ติดตั้ง SLV CLI:
bash
ทดสอบความหน่วงของ gRPC
คุณสามารถทดสอบความหน่วงของเซิร์ฟเวอร์ Solana Geyser gRPC ได้ง่าย ๆ ด้วยคำสั่งต่อไปนี้:
bash
หากคุณยังไม่มีสิทธิ์เข้าถึง Geyser gRPC โปรดดูคู่มือ เริ่มต้นใช้งาน Geyser gRPC อย่างรวดเร็ว
รันการตรวจสอบความหน่วง
หากต้องการทดสอบ endpoint แบบใช้ร่วมกันโดยตรง ให้รันคำสั่งต่อไปนี้โดยใส่ endpoint ของคุณเอง:
bash
ตัวอย่าง:
bash
จากนั้นการทดสอบจะดำเนินการตรวจสอบความหน่วงของเซิร์ฟเวอร์ Geyser gRPC
คุณสามารถหยุดการทดสอบได้โดยกด
Ctrl + Cข้อมูลอ้างอิง: ทำความเข้าใจความหน่วงของ gRPC
เมื่อวัดความหน่วงของ gRPC คุณอาจเห็นค่าที่เกินหนึ่งวินาที ซึ่งในตอนแรกอาจทำให้รู้สึกว่า “ช้า” แต่โปรดจำไว้ว่าเวลาของบล็อก (block time) ของ Solana ถูกบันทึกไว้ในระดับวินาทีเท่านั้น โดยส่วนที่เป็นมิลลิวินาทีจะถูกตัดทิ้ง
เชื่อมต่อภายในภูมิภาคเดียวกัน
ก่อนอื่น ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ของคุณอยู่ในภูมิภาคเดียวกับ endpoint ของ gRPC ตัวอย่างเช่น หากคุณเชื่อมต่อกับ
grpc-ams1.erpc.global คุณก็ควรวางเซิร์ฟเวอร์ไว้ที่ Amsterdam ด้วย เพื่อลดความหน่วงของเครือข่ายให้น้อยที่สุดเหตุใดคุณจึงอาจเห็นความหน่วง “เกิน 1 วินาที”
สมมติว่ามีธุรกรรมที่เกิดขึ้นจริงเวลา 07:46:46.900 แต่ Solana บันทึกไว้เป็น 07:46:46.000 หากคุณได้รับธุรกรรมนั้นเวลา 07:46:47.200 การคำนวณแบบตรงไปตรงมาจะได้ผลดังนี้:
เมื่อมองผ่าน ๆ ค่านี้ดูเหมือนความหน่วง 1.2 วินาที แต่เนื่องจากธุรกรรมเกิดขึ้นจริงเวลา 07:46:46.900 ความหน่วงที่แท้จริงจึงมีเพียงประมาณ 300ms:
07:46:47.200 - 07:46:46.900 = 0.3 วินาที
หักออก 500ms เป็นค่าประมาณ
เนื่องจาก Solana ปัดเวลาลงเป็นวินาทีเต็ม เราจึงไม่รู้แน่ชัดว่าธุรกรรมเกิดขึ้น ณ จุดใดภายในวินาทีนั้น การประมาณที่สมเหตุสมผลคือการสมมติให้อยู่ที่จุดกึ่งกลาง (500ms) สูตรจึงเป็นดังนี้:
แม้จะไม่แม่นยำสมบูรณ์แบบ แต่วิธีนี้ช่วยชดเชยข้อมูลระดับมิลลิวินาทีที่ขาดหายไป และให้ค่าประมาณที่ใกล้เคียงกับความหน่วงจริงของ gRPC มากขึ้น
หากคำนึงถึงประเด็นเหล่านี้ คุณจะประเมินความหน่วงของ Solana Geyser gRPC ได้แม่นยำยิ่งขึ้น เนื่องจาก Solana บันทึกเวลาในระดับวินาที จึงต้องนำความคลาดเคลื่อนที่อาจเกิดจากการปัดเศษมาพิจารณาด้วย รวมทั้งต้องวางเซิร์ฟเวอร์และ endpoint ให้เหมาะสม เพื่อให้ผลการวัดสะท้อนประสิทธิภาพในการใช้งานจริง






