Skip to main content
Die 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

  1. 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

Das result-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 des samplePeriodSecs verarbeiteten Transaktionen (einschließlich Abstimmungs- und Nicht-Abstimmungstransaktionen) bis zu diesem slot.
  • numSlots (u64): Die Anzahl der Slots, die innerhalb des samplePeriodSecs bis zu diesem slot verarbeitet wurden.
  • samplePeriodSecs (u16): Die Dauer in Sekunden, über die dieses Sample aufgenommen wurde (typisch 60).
  • numNonVoteTransactions (u64): Die Anzahl der Transaktionen, die keine Konsensabstimmungstransaktionen waren und innerhalb des samplePeriodSecs verarbeitet 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 Parameter limit 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 limit von 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: numTransactions umfasst alle Transaktionen, während numNonVoteTransactions speziell 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.
Durch die Nutzung von getRecentPerformanceSamples können Entwickler und Netzwerkbeobachter wertvolle Einblicke in den Betriebsstatus und den Durchsatz des Solana-Netzwerks gewinnen.