getRecentPerformanceSamples proporciona una instantánea del rendimiento reciente de la red Solana. Devuelve una lista de muestras, tomadas aproximadamente cada 60 segundos, que detallan la cantidad de transacciones y slots procesados durante esos períodos. Estos datos son muy valiosos para supervisar el rendimiento y el estado de la red. Para obtener más contexto sobre las métricas de rendimiento de Solana, como TPS y tiempos de slot, consulta la guía de Solana para empresas.
Casos de uso comunes
- Supervisión del estado de la red: Controla las tasas de procesamiento de transacciones y la producción de slots para evaluar el estado general de la red e identificar posibles congestiones o ralentizaciones.
- Análisis de rendimiento: Analiza los datos históricos de rendimiento para comprender el comportamiento de la red en distintas condiciones.
- Paneles de control: Muestra indicadores clave de rendimiento (KPI), como transacciones por segundo (TPS) y slots por minuto, en paneles de supervisión.
- Planificación de capacidad: Observa las tendencias de carga de la red para tomar decisiones de escalamiento de aplicaciones o infraestructura.
Parámetros de la solicitud
limit(usize, opcional):- La cantidad de muestras de rendimiento más recientes que se devolverán.
- Valor máximo:
720(representa aproximadamente 12 horas de datos, ya que las muestras se toman cada 60 segundos). - Si se omite, el nodo RPC devolverá una cantidad predeterminada de muestras (el valor predeterminado exacto puede variar según el proveedor de RPC).
Estructura de la respuesta
El camporesult de la respuesta JSON-RPC es un arreglo de objetos de muestras de rendimiento, devueltos en orden cronológico inverso (primero la muestra más reciente). Cada objeto tiene la siguiente estructura:
slot(u64): El número de slot en el que se registró esta muestra de rendimiento.numTransactions(u64): La cantidad total de transacciones (incluidas las transacciones de voto y sin voto) procesadas durante elsamplePeriodSecsprevio a esteslot.numSlots(u64): La cantidad de slots procesados durante elsamplePeriodSecsprevio a esteslot.samplePeriodSecs(u16): La duración, en segundos, durante la que se tomó esta muestra (normalmente60).numNonVoteTransactions(u64): La cantidad de transacciones procesadas durante elsamplePeriodSecsque no fueron transacciones de voto de consenso.
Ejemplos
1. Obtener las últimas 5 muestras de rendimiento
Este ejemplo solicita las cinco muestras de rendimiento más recientes de la red.2. Obtener la cantidad predeterminada de muestras de rendimiento
Este ejemplo omite el parámetrolimit y solicita la cantidad predeterminada de muestras del nodo RPC.
Consejos para desarrolladores
- Intervalo de muestreo: Las muestras suelen tomarse cada 60 segundos, pero este valor es aproximado. El campo
samplePeriodSecsde la respuesta indica la duración real de cada muestra. - Límite de datos históricos: El valor máximo de 720 muestras para
limitproporciona un período de aproximadamente 12 horas de datos históricos. Para analizar el rendimiento a más largo plazo, es necesario registrar y agregar los datos de forma externa. - Transacciones de voto y sin voto:
numTransactionsincluye todas las transacciones, mientras quenumNonVoteTransactionscuenta específicamente las que no forman parte del proceso de votación por consenso. Esta última suele ser un mejor indicador de la actividad de la red impulsada por los usuarios. - Variabilidad entre nodos: Los datos exactos pueden variar ligeramente entre distintos nodos RPC según su estado de sincronización y su vista local de la red cuando se toma una muestra.
getRecentPerformanceSamples, los desarrolladores y observadores de la red pueden obtener información valiosa sobre el estado operativo y el rendimiento de la red Solana.