Ajustando o Linux TCP para um grande número de TIME_WAIT

3

Parece que temos um monte de conexões tcp em um servidor web ocupado, essa é a saída do ss -s:

Total: 366 (kernel 1037)
TCP:   72108 (estab 130, closed 71964, orphaned 0, synrecv 0, timewait 71962/0), ports 46158

Transport Total     IP        IPv6
*     1037      -         -
RAW   0         0         0
UDP   12        8         4
TCP   144       111       33
INET      156       119       37
FRAG      0         0         0

Como faço para ajustar melhor as configurações de TCP neste servidor para evitar problemas / maximizar o desempenho? Acabei recentemente de aumentar net / ipv4 / ip_local_port_range do padrão para "1024 65000"

    
por Noodles 04.12.2014 / 21:05

1 resposta

-2

A pilha TCP / IP no linux já está muito otimizada e normalmente nada é necessário. Por exemplo, configurar o intervalo de portas local para obter algumas portas extras quase certamente não é necessário.

Em termos de tempo / espera ser ruim, é apenas parte do uso do tcp. Se você realmente deseja ter menos portas nesse estado, altere os valores de tcp_fin_timeout ou tcp_keepalive. Embora você realmente não deva alterar esses valores, a menos que seja necessário por algum motivo.

Em termos de esgotamento de portas, cada porta é digitada em uma porta de origem e de destino. Você provavelmente não vai ficar sem pares de origem / destino a menos que esteja fazendo algo como nat.

Em resposta ao seu comentário sobre conexões sendo descartadas ao usar o memcached ; Você pode aumentar o número de segmentos de trabalho e o tamanho da fila de pendências. O problema é mais provável de estar com o memcached do que o número de portas disponíveis.

    
por 04.12.2014 / 22:02