Skip to main content
WICHTIGER HAFTUNGSAUSSCHLUSS: Nur für produktive RechenzentrenDiese Latenztests sind nur für produktive Rechenzentrumsumgebungen konzipiert. Führen Sie diese Tests NICHT auf lokalen Maschinen oder mit Internetverbindungen für Verbraucher durch. Lokale Bandbreiten können schwere Solana-Abonnements nicht bewältigen und liefern bedeutungslose Ergebnisse, die keine realen Leistungsdaten widerspiegeln.
ANFORDERUNG DER KO-LOKATION: In der Nähe Ihres LaserStream-Endpunkts bereitstellenFür sinnvolle Latenzmessungen müssen Sie Ihre Testinfrastruktur in derselben Region wie Ihr gewählter LaserStream-Endpunkt bereitstellen. Die Netzwerkentfernung wird Ihre Messungen dominieren - Tests von einem anderen Kontinent aus zeigen die Netzwerklatenz und nicht die Leistung von LaserStream.

Verständnis der Latenz in verteilten Blockchain-Systemen

Beim Arbeiten mit Blockchain-Streaming-Diensten wird die Latenzmessung komplex, da verteilte Systeme keine universelle Uhr haben. Im Gegensatz zu traditionellen Systemen, bei denen Sie die Round-Trip-Zeit zu einem einzelnen Server messen können, beinhalten Blockchain-Netzwerke mehrere Validatoren, die dieselbe Transaktion zu unterschiedlichen Zeiten empfangen und verarbeiten. Die grundlegende Herausforderung: Blockchains wie Solana haben kein Konzept der absoluten Zeit. Jeder Validator-Knoten erhält weltweit dieselbe Transaktion zu unterschiedlichen Zeiten, und die Bestätigung hängt davon ab, dass ein Prozentsatz des Clusters Konsens erreicht. Dies macht eine deterministische Latenzmessung im traditionellen Sinn unmöglich.

Verpflichtungsstufen und Latenzprioritäten

Solana bietet drei Verpflichtungsstufen, jeweils mit unterschiedlichen Latenzeigenschaften:
  • Verarbeitet: Schnellste, Bestätigung durch einen einzelnen Validator (~400ms)
  • Bestätigt: Mittel, Bestätigung durch eine Supermehrheit (~2-3 Sekunden)
  • Finalisiert: Langsamste, komplette Netzwerk-Finalisierung (~15-30 Sekunden)
Für latenzempfindliche Anwendungen ist verarbeitete Verpflichtung typischerweise das Ziel. Alle Tests in diesem Leitfaden verwenden die verarbeitete Verpflichtungsstufe, da die meisten Hochfrequenzanwendungen Geschwindigkeit vor absoluter Endgültigkeit priorisieren.

Drei Ansätze zur Latenzmessung

1. Vergleich paralleler gRPC-Streams

Zuverlässigste Methode - Vergleicht zwei unabhängige Streams zur gleichen Datenquelle und misst, welcher identische Ereignisse zuerst empfängt. Vorteile:
  • Beseitigt Probleme mit der Uhrensynchronisation
  • Bietet einen relativen Leistungsvergleich
  • Am genauesten für den Vergleich von Diensten

2. Vergleich lokaler Zeitstempel vs. erstellt_am

Mäßige Zuverlässigkeit - Misst den Unterschied zwischen dem Empfang einer Nachricht durch Ihr System und dem Zeitstempel, der in der Nachricht durch den LaserStream-Dienst eingebettet ist. Einschränkungen:
  • Repräsentiert nur, wann LaserStream die Nachricht intern erstellt hat
  • Verzögerungen bis zu LaserStream werden nicht erfasst
  • Weniger genau als Methode 1 für echte Ende-zu-Ende-Latenz

3. Block-Zeitstempel-Analyse (nicht empfohlen)

Nicht empfohlen - Vergleicht lokale Empfangszeit mit Solanas Block-Zeitstempel. Bedeutende Einschränkungen:
  • Block-Zeitstempel haben nur Granularität auf Sekundenebene
  • Solana erzeugt alle 400ms Blöcke
  • Bietet minimale nützliche Informationen

Anforderungen an das Setup

Regionale Ko-Lokation

Für sinnvolle Latenzmessungen richten Sie Ihre Testinfrastruktur im gleichen Rechenzentrum oder in der gleichen Region wie Ihr LaserStream-Endpunkt ein. Verfügbare LaserStream-Regionen:
  • ewr: New York, US (Ostküste)
  • pitt: Pittsburgh, US (Zentral)
  • slc: Salt Lake City, US (Westküste)
  • ams: Amsterdam, Europa
  • fra: Frankfurt, Europa
  • tyo: Tokio, Asien
  • sgp: Singapur, Asien
Für Devnet-Tests verwenden: https://laserstream-devnet-ewr.helius-rpc.com Siehe die LaserStream gRPC-Dokumentation für vollständige Anweisungen zur Einrichtung und Auswahl von Endpunkten.

Einrichtung der Rust-Umgebung

Alle Messskripte verwenden Rust mit Cargo. Grundlegende Einrichtung:
Erstellen Sie eine .env Datei mit Ihren Anmeldeinformationen:
Holen Sie sich Ihren Helius-API-Schlüssel vom Helius-Dashboard. LaserStream-Devnet ist in allen Tarifen verfügbar. Mainnet-Zugang erfordert einen Business- oder Professional-Plan.

Methode 1: Vergleich paralleler Streams

Dieses Skript stellt zwei unabhängige Verbindungen zu verschiedenen gRPC-Endpunkten her und misst, welches die gleichen BlockMeta Nachrichten zuerst erhält. Dieser Ansatz beseitigt Probleme mit der Uhrensynchronisation durch Verwendung relativer Zeitmessung.
Was dies misst: Den relativen Leistungsunterschied zwischen zwei Streaming-Diensten. Das Delta zeigt, welcher Dienst die gleichen Slot-Informationen zuerst liefert. Wichtige Kennzahlen:
  • Positives Delta: Erster Dienst (YS) langsamer als zweiter Dienst (LS) - LaserStream ist schneller
  • Negatives Delta: Erster Dienst (YS) schneller als zweiter Dienst (LS) - LaserStream ist langsamer
  • Mittelwert/Median: Durchschnittliche Leistungsunterschied
  • P95: 95. Perzentil Latenzunterschied
Durchführung des Tests:
Beispielausgabe:
Die Ausgabe zeigt Echtzeitlatenzunterschiede und periodische Statistiken. Ein positiver mittlerer Delta-Wert zeigt an, dass der zweite Dienst (LaserStream) Daten konsistent schneller liefert.

Methode 2: Analyse des Erstellungs-Zeitstempels

Dieser Ansatz vergleicht den created_at-Zeitstempel, der in Nachrichten eingebettet ist, mit der lokalen Systemzeit beim Empfang.
Wichtige Einschränkung: Diese Methode misst nur von dem Zeitpunkt, an dem LaserStream die Nachricht erstellte, bis zu dem Zeitpunkt, an dem Sie sie erhielten. Verzögerungen zwischen dem Blockchain-Ereignis und der Verarbeitung durch LaserStream werden nicht berücksichtigt. Durchführung des Tests:
Beispielausgabe:
Diese Methode bietet Einblicke in die Netzwerk- und Verarbeitungsverzögerung zwischen LaserStream und Ihrer Anwendung, sollte jedoch in Verbindung mit Methode 1 für eine umfassende Analyse verwendet werden.

Beste Praktiken für Latenztests

Schlüsselprinzipien

  • Ko-Lokation: Tests in derselben Region wie Ihr LaserStream-Endpunkt bereitstellen, um Netzwerklatenz zu minimieren
  • Mehrere Methoden: Verwenden Sie den Vergleich paralleler Streams (Methode 1) als Ihre Hauptmetrik, ergänzt durch Zeitstempelanalyse
  • Langzeitüberwachung: Tests über längere Zeiträume durchführen, um verschiedene Netzwerkbedingungen und Blockchain-Staus zu erfassen
  • Statistische Analyse: Fokus auf Perzentilen (P95, P99) statt nur Durchschnittswerten, um Tail-Latenz zu verstehen

Interpretieren der Ergebnisse

  1. Basislinie festlegen: Tests mindestens 1 Stunde lang durchführen, um die Basisleistung unter normalen Bedingungen festzulegen
  2. Muster identifizieren: Nach Mustern bei Latenzspitzen suchen - korrelieren sie mit hoher Blockchain-Aktivität oder Netzwerkstau?
  3. Perzentile vergleichen: P95-Latenz ist oft wichtiger als durchschnittliche Latenz für das Benutzererlebnis
  4. Konsistenz überwachen: Konsistente Leistung ist oft wertvoller als absolute minimale Latenz
Denken Sie daran, dass die Blockchain-Latenz aufgrund von Netzwerk-Konsenserfordernissen inhärent variabel ist. Konzentrieren Sie sich auf relative Leistungsunterschiede und Konsistenz statt auf absolute Zahlen.