¿Cómo puedo saber qué tan cerca me estoy acercando a somaxconn?

17

La opción sysctl tiene un valor net.core.somaxconnpredeterminado de 128 (en nuestros sistemas) pero se puede aumentar.

  1. ¿Qué es exactamente este límite de medición y límite?

  2. ¿Cómo puedo saber qué tan cerca estoy del límite?

Contexto: Recientemente tuve un problema que parecía corregirse al aumentar este límite. El problema era intermitente, por lo que no confío en que esté realmente solucionado. Me gustaría saber si el número actual de [cualquiera que sea este límite de configuración] es mayor que el límite máximo anterior de 128.

Andrés
fuente
1
FYI: desde Linux 5.4 se incrementó a 4096 .
Hola Ángel, el

Respuestas:

18

somaxconndetermina el número máximo de conexiones acumuladas permitidas para cada puerto TCP en el sistema. Aumentarlo (recomendado para servidores) puede evitar mensajes de "conexión rechazada", pero puede provocar conexiones lentas si el servidor no puede manejar la carga aumentada.

Puede verificar la cartera de pedidos actual de netstat -ant | grep -c SYN_RECacuerdo con esta página . Contará cuántas conexiones hay en el estado "SYN recibido", lo que significa que el sistema ha recibido un paquete SYN (solicitud de conexión) pero aún no lo ha reconocido.

Si su sistema se ha ssinstalado, también puede usar ss -spara mostrar un resumen de las conexiones. Busque synrecven la salida o ss -s | grep -Po '(?<=synrecv )\d+(?=,)'simplemente imprima el número.

miken32
fuente