Como reduzir o tempo limite para conexões TIME_WAIT no OpenBSD?

2

Estou rodando http_load no OpenBSD 5.2, para testar o quão boa é a minha nginx configuração, e notei que as execuções a frio são muito mais rápidas que as quentes, e a cada execução o desempenho cai drasticamente (por exemplo, de 3735 respostas por segundo em uma corrida fria, para 2288, 1804, 1553 em corridas subseqüentes).

Eu observei com netstat -n | wc -l que há vários milhares de conexões após a execução de http_load , a maioria das quais estão no (state) de TIME_WAIT .

Pode parecer que set timeout tcp.finwait 8 para pf.conf reduziria algum valor de tempo limite de 45s para 8s, mas parece não afetar essas conexões TIME_WAIT, que ainda permanecem em netstat -n por exatamente 60s do tempo eles são criados através de http_load / nginx .

Existe uma maneira de expirar essas conexões TIME_WAIT bem antes dos 60s?

    
por cnst 08.02.2013 / 01:34

1 resposta

1

Você pode brincar com essas variáveis sysctl:

/etc/sysctl.conf

net.inet.tcp.keepinittime = 150
net.inet.tcp.keepidle = 14400
net.inet.tcp.keepintvl = 150
    
por 16.07.2013 / 07:22