getRecentPerformanceSamples liefert eine Momentaufnahme der aktuellen Performance des Solana-Netzwerks. Sie gibt eine Liste von Stichproben zurück, die ungefähr alle 60 Sekunden erfasst werden. Diese enthalten die Anzahl der Transaktionen und slots, die in den jeweiligen Zeiträumen verarbeitet wurden. Diese Daten sind sehr wertvoll, um den Durchsatz und Zustand des Netzwerks zu überwachen. Weitere Informationen zu Performance-Metriken von Solana wie TPS und slot-Zeiten findest du im Leitfaden zu Solana für Unternehmen.
Häufige Anwendungsfälle
- Überwachung des Netzwerkzustands: Verfolge die Transaktionsverarbeitungsraten und die Produktion von slots, um den allgemeinen Netzwerkzustand zu bewerten und mögliche Überlastungen oder Verlangsamungen zu erkennen.
- Performance-Analyse: Analysiere historische Performance-Daten, um das Verhalten des Netzwerks unter verschiedenen Bedingungen zu verstehen.
- Dashboards: Zeige wichtige Leistungskennzahlen (KPIs) wie Transaktionen pro Sekunde (TPS) und slots pro Minute auf Monitoring-Dashboards an.
- Kapazitätsplanung: Beobachte Trends bei der Netzwerkauslastung, um fundierte Skalierungsentscheidungen für Anwendungen oder Infrastruktur zu treffen.
Parameter für den request
limit(usize, optional):- Die Anzahl der neuesten Performance-Stichproben, die zurückgegeben werden sollen.
- Maximalwert:
720(entspricht ungefähr 12 Stunden an Daten, da alle 60 Sekunden eine Stichproben erfasst wird). - Wenn du den Parameter weglässt, gibt der RPC node eine Standardanzahl von Stichproben zurück. Der genaue Standardwert kann je nach RPC-Anbieter variieren.
Struktur der response
Das Feldresult der JSON-RPC-response ist ein Array aus Performance-Stichprobenobjekten. Diese werden in umgekehrter chronologischer Reihenfolge zurückgegeben, wobei die neueste Stichprobe zuerst erscheint. Jedes Objekt hat die folgende Struktur:
slot(u64): Die Nummer des slot, in dem diese Performance-Stichprobe erfasst wurde.numTransactions(u64): Die Gesamtzahl der Transaktionen einschließlich Abstimmungs- und sonstiger Transaktionen, die während dessamplePeriodSecsbis zu diesemslotverarbeitet wurden.numSlots(u64): Die Anzahl der slots, die während dessamplePeriodSecsbis zu diesemslotverarbeitet wurden.samplePeriodSecs(u16): Die Dauer in Sekunden, über die diese Stichprobe erfasst wurde (normalerweise60).numNonVoteTransactions(u64): Die Anzahl der Transaktionen, die keine Konsensabstimmungen waren und während dessamplePeriodSecsverarbeitet wurden.
Beispiele
1. Die letzten 5 Performance-Stichproben abrufen
Dieses Beispiel fordert die fünf neuesten Performance-Stichproben vom Netzwerk an.2. Standardanzahl von Performance-Stichproben abrufen
In diesem Beispiel wird der Parameterlimit weggelassen, um die Standardanzahl von Stichproben des RPC node anzufordern.
Tipps für Entwickler
- Stichprobenintervall: Stichproben werden normalerweise alle 60 Sekunden erfasst, wobei es sich um einen Näherungswert handelt. Das Feld
samplePeriodSecsin der response gibt die tatsächliche Dauer jeder Stichprobe an. - Limit für historische Daten: Der Maximalwert von 720 Stichproben für
limitdeckt ein Zeitfenster von ungefähr 12 Stunden an historischen Daten ab. Für längerfristige Performance-Analysen musst du Daten extern protokollieren und aggregieren. - Abstimmungs- und sonstige Transaktionen:
numTransactionsumfasst alle Transaktionen, währendnumNonVoteTransactionsausschließlich Transaktionen zählt, die nicht Teil des Konsensabstimmungsprozesses sind. Letzteres ist häufig ein besserer Indikator für die von Nutzern verursachte Netzwerkaktivität. - Unterschiede zwischen nodes: Die genauen Daten können zwischen verschiedenen RPC nodes leicht variieren. Das hängt von ihrem Synchronisierungsstatus und ihrer lokalen Sicht auf das Netzwerk zum Zeitpunkt der Stichprobenerfassung ab.
getRecentPerformanceSamples erhalten Entwickler und Netzwerkbeobachter wertvolle Einblicke in den Betriebszustand und Durchsatz des Solana-Netzwerks.