getRecentPerformanceSamples RPC-Methode bietet einen Snapshot der aktuellen Leistung des Solana-Netzwerks. Sie gibt eine Liste von Samples zurück, die ungefähr alle 60 Sekunden aufgenommen werden und die Anzahl der in diesen Perioden verarbeiteten Transaktionen und Slots detaillieren. Diese Daten sind von unschätzbarem Wert für die Überwachung des Netzwerkdurchsatzes und der Gesundheit. Für mehr Kontext zu den Leistungsmetriken von Solana wie TPS und Slotzeiten können Sie den Solana für Unternehmen Leitfaden lesen.
Häufige Anwendungsfälle
- Überwachung der Netzwerkgesundheit: Verfolgen Sie die Transaktionsverarbeitungsraten und die Slotproduktion, um die allgemeine Netzwerkgesundheit zu bewerten und mögliche Engpässe oder Verlangsamungen zu identifizieren.
- Leistungsanalyse: Analysieren Sie historische Leistungsdaten, um das Netzwerkverhalten unter verschiedenen Bedingungen zu verstehen.
- Dashboarding: Anzeigen von Schlüsselkennzahlen (KPIs) wie Transaktionen pro Sekunde (TPS) und Slots pro Minute auf Überwachungs-Dashboards.
- Kapazitätsplanung: Beobachten Sie Trends in der Netzwerkauslastung, um Skalierungsentscheidungen für Anwendungen oder Infrastruktur zu treffen.
Anfrageparameter
limit(usize, optional):- Die Anzahl der neuesten Leistungssamples, die zurückgegeben werden sollen.
- Maximalwert:
720(entspricht ungefähr 12 Stunden Daten, da Samples alle 60 Sekunden aufgenommen werden). - Wenn ausgelassen, gibt der RPC-Knoten eine Standardanzahl von Samples zurück (die genaue Standardeinstellung kann je nach RPC-Anbieter variieren).
Antwortstruktur
Dasresult-Feld der JSON-RPC-Antwort ist ein Array von Leistungssample-Objekten, die in umgekehrter chronologischer Reihenfolge zurückgegeben werden (das neueste Sample zuerst). Jedes Objekt hat die folgende Struktur:
slot(u64): Die Slotnummer, in der dieses Leistungssample aufgezeichnet wurde.numTransactions(u64): Die Gesamtanzahl der innerhalb dessamplePeriodSecsverarbeiteten Transaktionen (einschließlich Abstimmungs- und Nicht-Abstimmungstransaktionen) bis zu diesemslot.numSlots(u64): Die Anzahl der Slots, die innerhalb dessamplePeriodSecsbis zu diesemslotverarbeitet wurden.samplePeriodSecs(u16): Die Dauer in Sekunden, über die dieses Sample aufgenommen wurde (typisch60).numNonVoteTransactions(u64): Die Anzahl der Transaktionen, die keine Konsensabstimmungstransaktionen waren und innerhalb dessamplePeriodSecsverarbeitet wurden.
Beispiele
1. Abrufen der letzten 5 Leistungssamples
Dieses Beispiel fordert die fünf neuesten Leistungssamples vom Netzwerk an.2. Abrufen der Standardanzahl von Leistungssamples
In diesem Beispiel wird der Parameterlimit weggelassen und die Standardanzahl von Samples des RPC-Knotens angefordert.
Entwicklertipps
- Abtastintervall: Samples werden typischerweise alle 60 Sekunden aufgenommen, aber dies ist eine Annäherung. Das
samplePeriodSecs-Feld in der Antwort gibt die tatsächliche Dauer für jedes Sample an. - Historische Datenlimitierung: Der maximale
limitvon 720 Samples bietet ein Fenster von ungefähr 12 Stunden historischer Daten. Für eine langfristige Leistungsanalyse sind externes Datenlogging und Aggregation erforderlich. - Abstimmungs- vs. Nicht-Abstimmungstransaktionen:
numTransactionsumfasst alle Transaktionen, währendnumNonVoteTransactionsspeziell die zählt, die nicht Teil des Konsensabstimmungsprozesses sind. Letzteres ist oft ein besserer Indikator für benutzergesteuerte Netzwerkaktivität. - Knotenvariabilität: Die genauen Daten können leicht zwischen unterschiedlichen RPC-Knoten variieren, abhängig von ihrem Synchronisationsstatus und ihrer lokalen Sicht auf das Netzwerk, wenn ein Sample aufgenommen wird.
getRecentPerformanceSamples können Entwickler und Netzwerkbeobachter wertvolle Einblicke in den Betriebsstatus und den Durchsatz des Solana-Netzwerks gewinnen.