Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
Ver conexiones activas en tiempo real (stub_status)
Si tienes stub_status habilitado:
curl http://127.0.0.1/nginx_status
Salida típica:
Active connections: 512
server accepts handled requests
102345 102345 203456
Reading: 10 Writing: 200 Waiting: 302
Qué mirar aquí
- Active connections → conexiones totales actuales
- Reading/Writing/Waiting:
Writingalto = backend lento o clientes lentosWaitingalto = keepalive reteniendo conexiones
Si Active connections ≈ límite configurado → estás al borde
Ver límite real de conexiones de Nginx
a) Worker connections
nginx -T | grep worker_connections
Ejemplo:
worker_connections 1024;
b) Workers activos
nginx -T | grep worker_processes
Ejemplo:
worker_processes auto;
Conexiones máximas teóricas
worker_processes × worker_connections
Ejemplo:
4 workers × 1024 = 4096 conexiones
OJO: no todas son para clientes
También cuentan:
- Conexiones a upstreams
- Conexiones keepalive
- Proxy_pass
Ver errores claros de saturación
Busca esto en logs:
grep -i "worker_connections" /var/log/nginx/error.log
Mensajes típicos:
[error] 1024#1024: *12345 worker_connections are not enough
Esto confirma que Nginx ha llegado al límite
Ver conexiones TCP reales del sistema
ss -s
O solo Nginx:
ss -ant | grep :80 | wc -l
ss -ant | grep :443 | wc -l
Estados importantes:
ESTAB→ conexiones activasSYN_RECValto → posible saturación o ataqueTIME_WAITalto → tuning TCP pendiente
Comprobar límites del sistema (MUY IMPORTANTE)
Aunque Nginx esté bien configurado, Linux puede limitarlo.
a) File descriptors
ulimit -n
Nginx necesita al menos:
worker_processes × worker_connections × 2
b) Ver límite real del proceso
cat /proc/$(pidof nginx | awk '{print $1}')/limits
Busca:
Max open files
Síntomas claros de que Nginx está al límite
- Respuestas 503 / 504
- Latencia alta sin CPU alta
- Logs con:
worker_connections are not enoughconnect() failed (24: Too many open files)
- Muchas conexiones en
Waiting SYN_RECVcreciendo
Comprobación rápida (checklist express)
# Conexiones activas
curl localhost/nginx_status
# Límites
nginx -T | grep worker_connections
ulimit -n
# Errores
grep -i "not enough" /var/log/nginx/error.log
¿Qué se suele hacer si está al límite?
- Aumentar:
worker_connectionsworker_rlimit_nofileulimit -n
- Reducir:
keepalive_timeout
- Activar:
- Cache (si no usas proxy cache)
- HTTP/2 o HTTP/3
- Revisar backend (Apache / PHP-FPM)


