Resumen
Los proveedores de RPC de Solana difieren en cómo aplican los límites de tasa: algunos limitan las solicitudes por segundo por IP, otros miden por unidades de cómputo o créditos, y los niveles premium ofrecen mayor rendimiento o nodos dedicados. Este artículo compara los modelos de límite de tasa de los principales proveedores y te ayuda a elegir el plan adecuado para tu carga de trabajo.
Recomendación rápida: ajusta los límites de tasa a tu carga de trabajo
Antes de comparar proveedores, decide qué necesita realmente tu aplicación. Un ticker de NFT ligero puede funcionar con un RPC compartido y límites de solicitudes modestos. Un bot de trading de alta frecuencia o un indexador de Solana que reproduce datos históricos agotará rápidamente los límites compartidos y probablemente necesite un nodo dedicado o un plan con medición basada en unidades de cómputo.
Hazte tres preguntas:
- ¿Cuál es tu patrón de solicitudes? Las llamadas ráfaga a
getLatestBlockhashosendTransactionnecesitan margen por encima del RPS promedio. - ¿Usas suscripciones WebSocket? Muchos proveedores cuentan cada suscripción por separado y limitan el número de conexiones concurrentes.
- ¿Necesitas datos históricos? Métodos como
getSignaturesForAddressygetTransactionson costosos; los proveedores pueden medirlos más estrictamente.
Si esperas una carga sostenida o necesitas un rendimiento predecible, evalúa las opciones de nodos dedicados desde el principio. OnFinality ofrece nodos dedicados de Solana con capacidad aislada, y su página de precios de RPC enumera planes compartidos y dedicados. Para una visión más amplia de los criterios de selección de proveedores, consulta cómo elegir un proveedor de RPC.
Por qué los límites de tasa son importantes en Solana
Solana está diseñada para alto rendimiento, pero ese rendimiento depende del endpoint de RPC que uses. Un único endpoint compartido puede verse abrumado por unos pocos consumidores intensivos, degradando la latencia para todos. Los límites de tasa protegen la infraestructura del proveedor y garantizan un uso justo, pero también afectan directamente la fiabilidad de tu aplicación.
A diferencia de Ethereum, donde es común un simple límite de solicitudes por segundo, los proveedores de RPC de Solana suelen usar una medición más granular. Algunos cuentan cada llamada JSON-RPC por igual, mientras que otros asignan un costo a cada método según su carga computacional. Esto significa que un plan que permite 100 RPS podría limitarte si envías muchas solicitudes getTransaction, que son mucho más costosas que getSlot.
Modelos de límite de tasa utilizados por los proveedores de RPC de Solana
Los proveedores generalmente se dividen en tres categorías:
1. Límites de solicitudes por segundo (RPS)
El modelo más simple: se te permite un número fijo de solicitudes por segundo, a menudo por dirección IP. Los niveles gratuitos podrían permitir 10-50 RPS, mientras que los niveles de pago escalan a cientos o miles. Este modelo es fácil de entender pero puede ser injusto para métodos con costos muy diferentes.
2. Medición basada en unidades de cómputo o créditos
Algunos proveedores asignan un costo a cada método RPC, similar a los límites de cómputo de la propia Solana. Una llamada simple getHealth podría costar 1 crédito, mientras que getTransaction con una respuesta grande podría costar 10 o más. Tu plan incluye una asignación mensual de créditos y se te limita cuando la agotas. Este modelo alinea el precio con la carga real del servidor, pero requiere que estimes tu uso con más cuidado.
3. Límites de conexiones concurrentes para WebSocket
Las suscripciones WebSocket son esenciales para actualizaciones en tiempo real, pero mantienen una conexión persistente. Los proveedores a menudo limitan el número de conexiones WebSocket concurrentes, y algunos también limitan el número de suscripciones por conexión. Si necesitas monitorear muchas cuentas, este límite puede convertirse en un cuello de botella.
Comparación de los principales proveedores de RPC de Solana
La siguiente tabla resume los enfoques de límite de tasa de los principales proveedores. Siempre consulta la documentación actual del proveedor, ya que los planes cambian con frecuencia.
| Proveedor | Modelo de límite de tasa | Nivel gratuito | Límites de WebSocket | Opción dedicada |
|---|---|---|---|---|
| OnFinality | Basado en RPS con planes escalonados | Sí | Sí, según el plan | Sí, nodo aislado |
| Proveedor A | RPS + unidades de cómputo | Sí | Sí, límites más bajos | Sí |
| Proveedor B | Basado en créditos | Sí | Sí, por suscripción | Sí |
| Proveedor C | Solo RPS | No | No | No |
OnFinality ofrece endpoints de RPC compartidos con límites de RPS claros por plan, además de nodos dedicados que eliminan por completo la limitación compartida. Su página de red de Solana enumera el endpoint público y la URL de WebSocket para pruebas.
Proveedor A utiliza un modelo híbrido: un límite base de RPS más medición de unidades de cómputo para métodos costosos. Esto puede ser rentable para usuarios ligeros, pero puede sorprenderte si dependes de getSignaturesForAddress.
Proveedor B es popular por su sistema de créditos, que te da una asignación mensual. Es predecible para cargas de trabajo estables, pero puede ser difícil de ajustar para tráfico ráfaga.
Proveedor C ofrece solo un límite simple de RPS y carece de soporte WebSocket, lo que lo hace inadecuado para aplicaciones en tiempo real.
Cómo evaluar los límites de tasa para tu caso de uso
Al comparar planes, mira más allá del número de RPS destacado. Considera:
- Costo del método: ¿El proveedor mide
getTransactionogetSignaturesForAddressmás estrictamente? Si es así, tenlo en cuenta en tu planificación de capacidad. - Margen de ráfaga: Algunos proveedores permiten ráfagas cortas por encima del RPS promedio, mientras que otros limitan estrictamente en el límite. Si tu aplicación tiene picos, un margen de ráfaga es valioso.
- Límites basados en IP vs. basados en clave: Si ejecutas varios servidores backend, los límites basados en IP pueden ser problemáticos. Los límites basados en clave vinculados a tu clave de API son más fáciles de gestionar.
- Límites de suscripciones WebSocket: Cuenta cuántas suscripciones necesitas concurrentemente y verifica que el proveedor soporte ese número.
- Acceso a datos de archivo: Si necesitas datos históricos, verifica si el proveedor ofrece nodos de archivo y si esas solicitudes cuentan contra los mismos límites.
Prueba de límites de tasa antes de comprometerte
Puedes medir el comportamiento de límite de tasa de un proveedor con un script simple. El siguiente ejemplo envía una ráfaga de solicitudes getSlot e informa cuántas tienen éxito antes de alcanzar el límite.
for i in $(seq 1 200); do
curl -s -o /dev/null -w "%{http_code}\n" \
-X POST https://solana.api.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"getSlot"}'
done | sort | uniq -c
Si ves respuestas HTTP 429, has alcanzado el límite de tasa. El umbral exacto dependerá del proveedor y del plan. Para una prueba de producción, usa tu clave de API y una mezcla realista de métodos.
Límites de tasa de WebSocket y cómo manejarlos
Las conexiones WebSocket a menudo se limitan por separado de las solicitudes HTTP. Un límite común es de 10 a 50 conexiones concurrentes por clave de API. Si necesitas más, podrías necesitar un nodo dedicado.
Para reducir el número de conexiones, puedes usar una sola suscripción con filtros en lugar de suscribirte a cada cuenta individualmente. Por ejemplo, usa programSubscribe para monitorear todas las cuentas de un programa en lugar de suscribirte a cada dirección.
Aquí hay un fragmento de Node.js que abre una conexión WebSocket al endpoint público de OnFinality y se suscribe a actualizaciones de slot:
const WebSocket = require('ws');
const ws = new WebSocket('wss://solana.api.onfinality.io/public-ws');
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'slotSubscribe'
}));
});
ws.on('message', (data) => {
console.log(data.toString());
});
Recuerda que cada suscripción consume un espacio en tu límite de conexiones. Monitorea tu uso para evitar desconexiones inesperadas.
Cuándo elegir un nodo dedicado de Solana
Los endpoints de RPC compartidos son rentables para desarrollo y aplicaciones de bajo tráfico, pero tienen límites inherentes. Si experimentas alguno de los siguientes, considera un nodo dedicado:
- Alcanzas regularmente HTTP 429 o desconexiones de WebSocket.
- Tu aplicación requiere baja latencia constante para trading o juegos.
- Necesitas ejecutar análisis pesados o indexar grandes cantidades de datos históricos.
- Quieres evitar vecinos ruidosos que puedan degradar el rendimiento del endpoint compartido.
El servicio de nodos dedicados de OnFinality proporciona un nodo de Solana con recursos dedicados, dándote control total sobre los límites de tasa y el rendimiento. También puedes usarlo para acceder a datos de archivo o ejecutar configuraciones personalizadas.
Errores comunes de límite de tasa y cómo depurarlos
Cuando superas un límite de tasa, normalmente verás una de estas respuestas:
- HTTP 429 Too Many Requests: El proveedor está limitando tus solicitudes. Verifica tu uso actual contra los límites de tu plan.
- Error JSON-RPC -32005: Este es un error específico de Solana que indica que has superado el límite de tasa del nodo. A menudo incluye un campo
retryAfter. - Código de cierre de WebSocket 1008: El servidor está cerrando la conexión debido a una violación de política, a menudo porque superaste el límite de suscripciones.
Para depurar, agrega registro a tu cliente RPC para capturar los encabezados de respuesta y los códigos de error. Muchos proveedores incluyen encabezados como x-ratelimit-remaining que te ayudan a rastrear tu uso.
Conclusiones clave
- Los modelos de límite de tasa varían: los límites de RPS, la medición de unidades de cómputo y los límites de conexión WebSocket son los más comunes.
- Ajusta el modelo del proveedor a tu carga de trabajo: las aplicaciones ráfaga necesitan margen, los análisis pesados necesitan acceso a archivo y las aplicaciones en tiempo real necesitan capacidad WebSocket.
- Siempre prueba los límites de tasa con una mezcla realista de solicitudes antes de comprometerte con un plan.
- Los nodos dedicados eliminan la limitación compartida y proporcionan un rendimiento predecible para aplicaciones exigentes.
- Consulta la documentación más reciente de cada proveedor, ya que los límites y los precios cambian con frecuencia.
Preguntas frecuentes
¿Cuál es un límite de tasa típico de nivel gratuito para los proveedores de RPC de Solana?
Los niveles gratuitos a menudo permiten entre 10 y 50 solicitudes por segundo, con límites de conexión WebSocket más bajos. Algunos proveedores también limitan el número de solicitudes diarias. Estos límites son suficientes para desarrollo y pruebas ligeras, pero no para tráfico de producción.
¿Cómo sé si necesito un nodo dedicado de Solana?
Si alcanzas constantemente los límites de tasa, necesitas baja latencia para aplicaciones sensibles al tiempo o requieres acceso a datos de archivo, un nodo dedicado vale la inversión. Proporciona recursos aislados y elimina la variabilidad de los endpoints compartidos.
¿Puedo usar la misma clave de API en múltiples servidores?
La mayoría de los proveedores lo permiten, pero los límites de tasa pueden aplicarse por dirección IP o por clave. Si tienes múltiples servidores, verifica si el proveedor agrega el uso o aplica límites por IP. Los límites basados en clave son más fáciles de gestionar en una configuración distribuida.
¿Las suscripciones WebSocket cuentan contra el mismo límite de tasa que las solicitudes HTTP?
Generalmente no. Los proveedores suelen tener límites separados para conexiones WebSocket y suscripciones. Debes monitorear ambos para evitar limitaciones inesperadas.
¿Cómo puedo monitorear mi uso de RPC?
Muchos proveedores ofrecen un panel donde puedes ver recuentos de solicitudes, tasas de error y límites actuales. También puedes agregar registro del lado del cliente para rastrear códigos de respuesta y encabezados. Para un enfoque integral, considera usar un servicio de monitoreo que rastree la salud y latencia del RPC.
Para más detalles sobre endpoints y planes de RPC de Solana, visita la página de red de Solana y la página de precios de RPC.