Lidando com muitas conexões TCP de saída

Lidando com muitas conexões TCP de saída

Eu estava testando um servidor no EC2 com desempenho de rede "Alto" para verificar o máximo de conexões de saída que poderia usar nele. Sem alterar nenhuma configuração, abrindo cerca de 1000 threads, cada um enviando uma solicitação TCP, após cerca de 10 minutos, recebo o erro de 'conexão recusada', que tenho certeza de que é o problema do meu lado, pois sei que o servidor de destino não veja quaisquer erros.

Eu segui as instruções emEste artigoque fala TIME_WAITe Ephemeral portsentão eu fiz isso:

  1. Aumentando o número de portas efêmeras
  2. Habilitando tcp_tw_recycle e tcp_tw_reuse

Ao fazer esses dois, ainda recebo erros, mas depois de um período mais longo, como horas. Em geral, quero saber o quanto um servidor Ubuntu com uma configuração de hardware específica pode lidar com o tráfego de rede. Como posso monitorar o tráfego de saída para descobrir o que exatamente deu errado?

Responder1

Para monitorar o tráfego de saída, consulte as seguintes ferramentas: tshark, tcpdump, ettercap.

Veja também estas configurações:

root@server ~ # sysctl -A | grep -i wait
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120

informação relacionada