TCP Ajuste de pilha, (TIME_WAIT) - processo python ignora a configuração de sysctl?

1

Estou brincando com o ajuste de várias configurações de tcp para um alto número de conexões de clientes de saída. Eu coloquei o seguinte no meu /etc/sysctl.conf no Ubuntu 16.04.

net.ipv4.ip_local_port_range = 18000 65535 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 3

Eu os apliquei usando sysctl -p , em seguida, fiz uma nova conexão com um dos meus servidores usando o netcat e encerrei:

nc 35.158.221.XXX 22

Então eu verifiquei o netstat usando o seguinte comando:

netstat -on | grep TIME_WAIT | less

Em todas as situações, a conexão foi removida corretamente dentro de um período de 3 segundos.

Agora, o problema:

Logo após, iniciei um script python com vários threads gerando conexões http de saída. Nesse script, no entanto, o estado TIME_WAIT das conexões está expirando STILL após o número padrão de 60 segundos.

Qualquer razão pela qual isso está acontecendo e as conexões do python estão ignorando a configuração do kernel? Como isso é possível? Por que a configuração não está sendo aplicada a esse processo? Eu esqueci de liberar algum cache ou algo assim?

    
por Josh 25.03.2018 / 16:28

0 respostas