Capacidad

Límites de Conexión de Pool

Codifique la capacidad real de su backend en la capa ADC — gestione los límites de conexión, tasa, SSL y memoria desde un único perfil.

TR7 Pool Connection Limits define cuánto tráfico puede transportar de forma segura un pool de servicios a través de 8 ejes independientes. Conexiones simultáneas, tasa de nuevas conexiones, tasa de sesión, conexiones SSL, tasa de handshake SSL, tamaño de buffer y comportamiento de retry se gestionan todos dentro del mismo perfil de límites. Este enfoque no depende de un único campo de «conexiones máximas» — porque 20.000 conexiones keep-alive inactivas y 2.000 nuevos handshakes TLS por segundo no tienen el mismo coste. TR7 evalúa la carga plain y SSL/TLS por separado, ofreciendo al backend una protección más precisa frente a tormentas de CPU, memoria y conexiones. Un perfil de límites se define una vez y puede adjuntarse a múltiples pools. Se pueden crear perfiles separados para producción, staging, períodos de campaña, web pública, APIs internas o requisitos por tenant. Actualizar un perfil de forma centralizada actualiza el comportamiento de capacidad de todos los pools vinculados a él. El resultado: TR7 convierte un límite de conexión de un número puro en un perfil de protección operacional que codifica explícitamente la capacidad del backend, el coste TLS, el comportamiento de cola y el presupuesto de memoria en la capa ADC.

8
Ejes de límites independientes en un único perfil: conexiones, tasa, sesión, SSL, buffer, retry
1M
Máximo de conexiones simultáneas configurables por pool (límite superior de maxConn)
2K
Tasa predeterminada de handshake SSL por segundo (maxSslRate) — protege la CPU del backend

Un único valor de conexiones máximas no es suficiente para proteger la capacidad de aplicaciones modernas.

En la mayoría de los diseños de balanceo de carga, el límite de conexión se trata como un único campo: ¿cuántas conexiones pueden estar abiertas a la vez? Ese modelo es incompleto. Diez mil conexiones keep-alive pendientes pueden ser baratas, mientras que 1.000 nuevos handshakes SSL simultáneos pueden agotar rápidamente la CPU del backend. El mismo número produce un coste completamente diferente según el tipo de tráfico.

El recuento de conexiones y la tasa de conexiones tampoco son lo mismo. «Hasta 20.000 conexiones pueden estar abiertas a la vez» es un techo de capacidad; «hasta 10.000 nuevas conexiones pueden abrirse por segundo» es control de bursts y tormentas de conexiones. Los sistemas que no separan estos dos valores o restringen innecesariamente el tráfico legítimo o no protegen el backend de una ola de ataque repentina.

El tráfico TLS debe considerarse por separado. Las operaciones de handshake SSL/TLS son costosas en términos de CPU, y cuando se gestionan bajo el mismo límite que las conexiones HTTP plain, la carga real se vuelve invisible. Especialmente durante el tráfico de web pública, API gateway y períodos de campaña, limitar de forma independiente la tasa de handshake mantiene bajo control el consumo de CPU del backend.

El comportamiento de cola también suele ser opaco. Cuando se supera un límite, ¿la conexión se descarta silenciosamente, agota el tiempo de espera, espera en una cola, o el cliente recibe un 503 limpio? Sin visibilidad sobre ese comportamiento, la causa raíz no está clara en el momento del incidente — los usuarios ven un timeout y el equipo de operaciones identifica la razón real demasiado tarde.

TR7 Pool Connection Limits protege los servicios backend mediante una gestión de capacidad predecible en lugar de sobrecarga silenciosa, controlando de forma independiente las conexiones totales, la tasa de conexión, la tasa de sesión, la carga SSL, el presupuesto de buffer y el comportamiento de retry.

Nuestro enfoque

TR7 gestiona la capacidad del pool no con un único campo sino con una estructura de perfil construida sobre ejes de conexión, tasa, SSL, retry y buffer.

Un perfil de límites de 8 dimensiones codifica la capacidad en detalle

Un único perfil define maxConn, maxRetries, rateLimitSessions, maxConnRate, maxSessRate, maxSslConn, maxSslRate y maxBufferSize. Esto permite que los límites de conexión, tasa, TLS y memoria del backend se ajusten de forma independiente.

Las conexiones SSL se limitan por separado del tráfico plain

Dado que los handshakes TLS son costosos en CPU, TR7 gestiona maxSslConn y maxSslRate como valores distintos. Esta separación ayuda a evitar que una tormenta de handshakes agote el backend incluso cuando el recuento total de conexiones parece bajo.

Los perfiles con nombre se comparten entre múltiples pools

Un perfil de límites se define con un nombre único y puede adjuntarse a diferentes pools de servicio. Las políticas de capacidad de producción, staging, canary o por tenant se pueden gestionar todas con un único modelo de perfil.

Los ajustes de retry y buffer definen el comportamiento de back-pressure

maxRetries define cuántas veces se reintenta una conexión al backend ante un fallo transitorio. maxBufferSize controla el consumo de memoria por conexión en escenarios de cliente lento o backend lento.

Capacidades

TR7 Pool Connection Limits restringe los servicios backend de forma controlada frente a tormentas de conexiones, carga TLS, ráfagas de sesiones y presión de memoria.

maxConn limita las conexiones simultáneas totales a nivel de pool

maxConn establece el techo para las conexiones abiertas simultáneamente por pool, con un valor predeterminado de 20.000 y un límite superior de 1.000.000. Este valor codifica en la capa ADC exactamente cuántas conexiones puede transportar el backend a la vez. Cuando se alcanza el límite, las nuevas conexiones quedan sujetas al comportamiento de cola o a un flujo de rechazo.

maxConnRate controla las tormentas de nuevas conexiones por segundo

maxConnRate limita el número de nuevas conexiones TCP que pueden abrirse por segundo, con un valor predeterminado de 10.000. A diferencia de las conexiones totales, este campo gobierna la tasa a la que se abren las conexiones. Ayuda a evitar que el backend se vea desbordado en un único burst durante tormentas de conexiones, escaneos agresivos o pruebas de carga con mal comportamiento. Es un control crítico de protección contra bursts para los servicios orientados al público.

maxSessRate hace un seguimiento independiente de la intensidad de nuevas sesiones HTTP

maxSessRate aplica un techo por segundo a las nuevas sesiones, con un valor predeterminado de 10.000. Reutilizar conexiones keep-alive y abrir nuevas sesiones repetidamente tienen costes diferentes. Esta distinción es útil especialmente frente a tormentas de apertura de sesiones basadas en cookies o comportamiento de bots que agota las sesiones de la aplicación. El tráfico se restringe no solo por recuento de conexiones sino también por la tasa a la que se producen las sesiones.

rateLimitSessions limita los nuevos slots de conexión con granularidad por segundo

rateLimitSessions proporciona un control por segundo independiente para la asignación de nuevos slots de conexión, con un valor predeterminado de 5.000. Se usa para gestionar el comportamiento de aceptación de nuevas conexiones con mayor granularidad. Ayuda al pool a avanzar con una capacidad controlada durante ráfagas repentinas de conexiones. La relación entre la capacidad del backend y la tasa de aceptación del ADC se ajusta con mayor precisión.

maxSslConn separa las conexiones TLS activas de las conexiones plain

maxSslConn define un límite de conexiones simultáneas separado para las conexiones SSL/TLS activas, con un valor predeterminado de 5.000. Las conexiones TLS deben tratarse de forma diferente a las conexiones plain debido al coste de CPU, memoria y procesamiento criptográfico. Este límite refleja con mayor precisión la capacidad real del backend en el lado TLS. Simplifica la planificación de capacidad SSL, especialmente para el tráfico web público y de API.

maxSslRate mantiene bajo control la carga de handshakes TLS por segundo

maxSslRate limita el número de handshakes SSL/TLS que pueden iniciarse por segundo, con un valor predeterminado de 2.000. Las operaciones de handshake pueden tener un coste elevado según el uso de RSA o ECDSA, el tamaño de clave y la capacidad de CPU. Este campo ayuda a evitar que las tormentas de handshakes TLS agoten la CPU del backend. Proporciona una protección más significativa que un límite de conexiones plain durante ataques DDoS o tráfico agresivo de bots.

maxBufferSize limita el consumo de memoria por conexión

maxBufferSize establece el tamaño de buffer disponible por conexión en KB, con un valor predeterminado de 128 KB y un rango de 16–256 KB. El consumo de memoria se controla mediante este valor para clientes lentos, lectores lentos o solicitudes que transportan cuerpos de gran tamaño. El campo proporciona protección operacional frente al comportamiento tipo Slowloris y la presión de memoria.

maxRetries configura el comportamiento de retry ante fallos transitorios de conexión

maxRetries define cuántas veces se reintenta la conexión al backend ante un fallo, con un valor predeterminado de 3 y un límite superior de 1.000. Un valor más bajo proporciona retorno de error rápido; un valor más alto puede mejorar la resiliencia durante perturbaciones transitorias de la red. Sin embargo, los reintentos excesivos pueden añadir carga a un backend ya sobrecargado y deben elegirse con cuidado.

El vínculo perfil-pool hace que la política de capacidad sea gestionable de forma centralizada

Un perfil de límites se define con un nombre único y puede asignarse a múltiples pools. Editar un único perfil cambia el comportamiento de conexión de todos los pools vinculados a él. Este modelo reduce la necesidad de configurar cada pool de servicio individualmente. Los perfiles de producción, prueba, campaña o por tenant se pueden gestionar cada uno de forma independiente.

El comportamiento de cola produce errores visibles en lugar de descartes silenciosos

Cuando se supera un límite, las conexiones pueden esperar en una cola hasta una profundidad definida. Cuando la cola se llena, el cliente recibe un error claro en lugar de un timeout silencioso. Los equipos de operaciones pueden identificar cuándo se alcanza un techo de capacidad más rápidamente a través de señales de error explícitas como 503. El problema se convierte en un evento de capacidad medible en lugar de una espera ambigua en el lado del usuario.

Profundidad operacional

Los límites de conexión de pool deben planificarse junto con los valores predeterminados, el comportamiento de desactivación con cero, la generación global/frontend/pool y el presupuesto de memoria.

01

Valores predeterminados del perfil

El modelo predeterminado usa maxConn 20K, maxRetries 3, rateLimitSessions 5K, maxConnRate 10K, maxSessRate 10K, maxSslConn 5K, maxSslRate 2K y maxBufferSize 128 KB. Estos son puntos de partida. El ajuste real debe realizarse según la capacidad del backend, el coste TLS y el patrón de tráfico.

02

Desactivación con cero

Todos los campos de límites aceptan 0 como valor mínimo. Esto puede usarse para escenarios donde un control dado debe desactivarse o comportarse como ilimitado. En producción, sin embargo, un valor de 0 debe establecerse de forma deliberada — de lo contrario, la protección esperada se elimina.

03

Límite superior de alta densidad

maxConn puede establecerse hasta 1.000.000. Esto proporciona flexibilidad para escenarios de keep-alive de muy alta densidad o pools de conexiones. Aún así, la capacidad real no está determinada solo por este número — los descriptores de archivo, la memoria, la CPU, el coste TLS y los límites del backend deben tenerse en cuenta todos juntos.

04

Presupuesto de memoria de buffer

maxBufferSize afecta directamente al consumo de memoria por conexión. Un valor más bajo aumenta la protección de memoria, pero puede introducir problemas de compatibilidad para aplicaciones con cuerpos de gran tamaño o flujos lentos. El rango de 16–256 KB permite un equilibrio controlado entre seguridad y necesidades de la aplicación.

05

Generación de límites en múltiples niveles

Los valores del perfil se reflejan en el comportamiento de conexión a nivel global, frontend y pool. Esta separación permite gestionar de forma independiente la capacidad total del dispositivo y la capacidad de un pool específico. En despliegues grandes, la capacidad total del ADC y la capacidad de un único pool no deben confundirse.

06

Límites de bind SSL

Los límites de conexión SSL están vinculados al comportamiento de bind TLS. Valores como maxSslConn permiten gestionar las conexiones TLS de forma separada a las conexiones plain. Esto es importante para proteger el presupuesto de CPU en los servicios orientados al público donde el tráfico TLS es intenso.

Cuándo usarlo

Perfil de capacidad temporal en días de campaña de e-commerce

Una plataforma de e-commerce que usa un perfil de 20K conexiones en días normales puede cambiar a un perfil de conexiones más alto durante un período de campaña. El mismo pool se mantiene; solo se cambia el perfil de límites para prepararse para el tráfico de campaña.

Separación de capacidad SSL en tráfico de API interno bancario

Un banco puede permitir un recuento total de conexiones alto en su pool de API interno mientras mantiene más estrecha la tasa de conexión y handshake SSL. Esta estructura controla el coste TLS y protege la CPU del backend de cargas repentinas de handshakes.

Protección contra tormentas de conexiones en servicios web públicos

En una aplicación web orientada a Internet, el escaneo de bots o clientes con mal comportamiento pueden abrir grandes cantidades de conexiones en poco tiempo. TR7 limita la tasa de nuevas conexiones mediante maxConnRate y rateLimitSessions, protegiendo el backend de una tormenta de conexiones.

Limitación del consumo de memoria en tráfico de clientes lentos

Los clientes que leen lentamente pueden aumentar el uso de buffer por conexión. TR7 restringe el consumo de memoria de este tráfico con un perfil maxBufferSize más bajo, permitiendo que otros usuarios sigan recibiendo servicio.

Preguntas frecuentes

¿Cuál es la diferencia entre maxConn y maxConnRate?
maxConn es un techo de capacidad — el número máximo de conexiones que pueden estar abiertas simultáneamente en un pool. maxConnRate es un control de tasa — el número máximo de nuevas conexiones TCP que pueden abrirse por segundo. El primero protege frente a la sobrecarga por acumulación de conexiones; el segundo protege frente a tormentas de conexiones y ataques de burst.
¿Por qué los límites de conexión SSL se definen por separado de los límites de conexiones plain?
Las operaciones de handshake TLS son costosas en CPU en comparación con las conexiones plain. Gestionarlas bajo el mismo límite que las conexiones HTTP plain hace que la carga real sea invisible. maxSslConn y maxSslRate ofrecen control independiente sobre el lado TLS, lo cual es especialmente importante para el tráfico web público y de API donde el presupuesto de CPU es limitado.
¿Qué ocurre cuando se supera un límite de conexión?
Cuando se supera un límite, las nuevas conexiones pueden esperar en una cola hasta una profundidad configurable. Si la cola se llena, el cliente recibe una señal de error clara en lugar de un descarte silencioso. Esto hace visibles los eventos de capacidad para el equipo de operaciones a través de métricas y señales de error explícitas como 503.
¿Puede usarse un único perfil de límites en múltiples pools?
Sí. Un perfil se define con un nombre único y puede adjuntarse a tantos pools como sea necesario. Actualizar el perfil de forma centralizada aplica el cambio a todos los pools vinculados a él. Este modelo reduce el esfuerzo de configuración manual en despliegues grandes con muchos pools de servicio.
¿Qué significa establecer un campo de límite en 0?
Un valor de 0 desactiva el control correspondiente o hace que se comporte como ilimitado. Esto es útil en escenarios específicos donde no se aplica un límite intencionalmente. En entornos de producción, el valor 0 debe establecerse de forma deliberada — de lo contrario, la protección que se asumía activa se elimina silenciosamente.
¿Cómo debe ajustarse maxBufferSize para cuerpos de solicitud de gran tamaño?
maxBufferSize controla la memoria de buffer por conexión y va de 16 KB a 256 KB, con un valor predeterminado de 128 KB. Las aplicaciones con cuerpos de solicitud grandes, como cargas de archivos o payloads POST pesados, pueden necesitar un valor más alto. Las aplicaciones que requieren protección frente a la presión de memoria por clientes lentos pueden beneficiarse de un valor más bajo. El ajuste correcto depende del patrón de tráfico específico y el comportamiento del backend.

Proteja la capacidad del backend con precisión — no con un único número

Perfiles de límites de conexión de 8 ejes para tormentas de conexiones, carga TLS y presión de memoria por clientes lentos. Permítanos mostrarle una configuración en vivo sobre sus propios servicios.