Warum nimmt die Latenz meines Solana-ShredStreams immer weiter zu? Ursachen und Lösungen

Bei ERPC erhalten wir häufig Anfragen von Kunden, die Solanas Echtzeit-Datenstrom verwenden und berichten: „Die ShredStream-Latenz steigt allmählich an und der Stream kommt schließlich zum Stillstand.“
In diesem Artikel erklären wir die wichtigsten Ursachen dieses Problems und zeigen konkrete Lösungen, mit denen Sie die Leistung Ihrer Anwendung verbessern können.
Warum steigt die ShredStream-Latenz weiter an?
Derzeit überträgt ShredStream nahezu alle Echtzeitdaten ungefiltert. Wenn die Verarbeitungskapazität des Clients nicht ausreicht, sammeln sich Daten an und die Latenz steigt allmählich.
Die wichtigsten Ursachen sind:
1. Verarbeitung mit Node.js oder Single-Thread-Umgebungen
Ursprünglich wurde der ShredStream-Client mit TypeScript und dem gRPC-Protokoll entwickelt. Da Filter noch nicht implementiert sind, stößt eine Single-Thread-Umgebung wie Node.js schnell an ihre Verarbeitungsgrenzen, wodurch die Latenz kontinuierlich steigt.
Wir haben festgestellt, dass dieses Problem bei der Verwendung eines Rust-Clients auf derselben Maschine nicht auftritt. Damit ist die Einschränkung der Single-Thread-Verarbeitung bestätigt.
Lösung: Multi-Threading mit NAPI-RS
Als Reaktion darauf haben wir eine Lösung mit NAPI-RS entwickelt. Sie ermöglicht die Verarbeitung mit mehreren Threads in Rust und lässt sich gleichzeitig von TypeScript aus steuern. Diese als Solana Stream SDK bekannte Lösung ist Open Source und öffentlich verfügbar:
- GitHub: ValidatorsDAO/solana-stream
Wenn Sie Node.js oder TypeScript verwenden, empfehlen wir dieses SDK. Für maximale Leistung sollten Sie eine native Sprache mit Multi-Threading wie Rust in Betracht ziehen.
2. Unzureichende Serverleistung (insbesondere CPU-Taktfrequenz)
Echtzeit-Stream-Anwendungen mit Solana ShredStream laufen typischerweise auf einem Server mit 4 Kernen und 16 GB RAM ausreichend gut. Die CPU-Taktfrequenz ist jedoch äußerst wichtig. Niedrigere Taktfrequenzen können zu einer allmählich steigenden Latenz führen.
Server, die den Gewinn maximieren sollen, verwenden häufig CPUs älterer Generationen oder CPUs mit vielen Kernen, aber niedrigen Taktfrequenzen. AMD-EPYC-CPUs der vierten Generation mit vielen Kernen, etwa die 84-Kern-Modelle, haben beispielsweise typischerweise einen Basistakt von etwa 2,2 GHz und nutzen den Turbo Boost oft nicht effektiv. Da die empfohlene Mindestanforderung für Solana-Validatoren bei 2,8 GHz liegt, empfehlen wir unseren Kunden ebenfalls CPUs mit mindestens dieser Taktfrequenz.
Zusätzlich verwenden VPS-Anbieter häufig „Overcommitment“, also die Aufteilung eines physischen Servers auf mehrere virtuelle Server. In einer überbuchten Umgebung kommt es während der Spitzenzeiten häufig zu Ressourcenkonkurrenz mit anderen Nutzern, was die Leistung beeinträchtigt.
Lösung: Nutzen Sie einen VPS mit CPUs der neuesten Generation und hoher Taktfrequenz
ERPC bietet VPS-Server mit AMD-EPYC-CPUs der neuesten Generation und Taktfrequenzen von bis zu 4,15 GHz. Diese Server bieten eine Leistung nahe an Bare-Metal-Lösungen und eignen sich ideal für Solana-Workloads, die Echtzeit-Datenströme erfordern.
Zuvor waren VPS-Lösungen mit hoher Taktfrequenz nicht verfügbar, sodass Nutzer mit Bedarf an Echtzeitleistung auf Bare-Metal-Server ausweichen mussten. Die VPS-Angebote von ERPC lösen diese Einschränkung.
Wir empfehlen unsere leistungsstarken EPYC-VPS

Die VPS-Lösungen von ERPC sind für Solanas Echtzeit-Datenstreaming optimiert und werden von vielen Hochfrequenzhändlern und Projekten sehr geschätzt.
Diese Lösungen sind ideal für Kunden, die hohe Leistung benötigen, ohne die Ressourcen eines Bare-Metal-Servers zu beanspruchen.
Wir laden Sie ein, unsere VPS-Lösungen auszuprobieren.
Für kostenlose Tests oder eine ausführliche Beratung besuchen Sie bitte den offiziellen Discord von Validators DAO:
- Offizieller Validators DAO Discord: [https://discord.gg/C7ZQSr CkYR](https://discord.gg/C7ZQSr CkYR)
ERPC setzt seine Forschung und Entwicklung fort, um Ihren wachsenden Anforderungen gerecht zu werden und eine bessere Leistung zu ermöglichen.
Vielen Dank für Ihre anhaltende Unterstützung.


