Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

599
Visualizações
¿Cuál es la diferencia entre tcp_max_syn_backlog y somaxconn?

He estado leyendo algunos artículos sobre la implementación de TCP en Linux y me confundí, cuál es la diferencia entre net.ipv4.tcp_max_syn_backlog y net.core.somaxconn y el backlog pasado como parámetro para la llamada al sistema listen() , y cuál es la relación entre ellos.

PD: Quiero una explicación para el kernel 4.15 porque descubrí que hay algunas diferencias entre los kernels más antiguos y los más nuevos sobre este tema.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

sysctl es una API. Entonces, puede leer la documentación del kernel de Linux para la versión adecuada :

 tcp_max_syn_backlog - INTEGER Maximal number of remembered connection requests, which have not received an acknowledgment from connecting client. The minimal value is 128 for low memory machines, and it will increase in proportion to the memory of machine. If server suffers from overload, try increasing this number. somaxconn - INTEGER Limit of socket listen() backlog, known in userspace as SOMAXCONN. Defaults to 128. See also tcp_max_syn_backlog for additional tuning for TCP sockets.

Consideremos un protocolo de enlace TCP ... tcp_max_syn_backlog representa el número máximo de conexiones en la cola SYN_RECV . Es decir, cuando su servidor recibió SYN, envió SYN-ACK y aún no ha recibido ACK. Esta es una cola separada de los llamados "sockets de solicitud" - reqsk en el código (es decir, no son sockets completos, los "sockets de solicitud" ocupan menos memoria. En este estado, podemos ahorrar algo de memoria y aún no asignar un socket completo porque el la conexión completa puede no ser del todo en el futuro si ACK no llega). El valor de esta cola se ve afectado (consulte esta publicación ) por el argumento de backlog de listen() y está limitado por tcp_max_syn_backlog en el kernel.

somaxconn representa el tamaño máximo de la cola ESTABLISHED . Esta es otra cola.
Recuerde la cola SYN_RECV mencionada anteriormente: su servidor está esperando un ACK del cliente. Cuando llega el ACK, el kernel, en términos generales, crea el gran socket completo desde "solicitar socket" y lo mueve a la cola ESTABLECIDA. Entonces puede hacer accept() en este socket. Esta cola también se ve afectada por el argumento de backlog de listen() y está limitada por somaxconn en el kernel.

Enlaces útiles: 1 , 2 .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda