Skip to main content
El método RPC 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

  1. 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 campo result 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 el samplePeriodSecs previo a este slot.
  • numSlots (u64): La cantidad de slots procesados durante el samplePeriodSecs previo a este slot.
  • samplePeriodSecs (u16): La duración, en segundos, durante la que se tomó esta muestra (normalmente 60).
  • numNonVoteTransactions (u64): La cantidad de transacciones procesadas durante el samplePeriodSecs que 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ámetro limit 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 samplePeriodSecs de la respuesta indica la duración real de cada muestra.
  • Límite de datos históricos: El valor máximo de 720 muestras para limit proporciona 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: numTransactions incluye todas las transacciones, mientras que numNonVoteTransactions cuenta 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.
Al utilizar getRecentPerformanceSamples, los desarrolladores y observadores de la red pueden obtener información valiosa sobre el estado operativo y el rendimiento de la red Solana.