Recentemente, tivemos problemas com a nossa configuração de verniz (3x) -> Apache (3x), resultando em um grande aumento nas SYN_SENT
conexões.
O pico em si é devido à quantidade de tráfego novo que atinge o site (não é um DDOS de qualquer tipo), e parece que nossas máquinas Varnish estão tendo problemas para encaminhar o tráfego para os servidores back-end (a queda no tráfego do Apache se correlaciona com os picos nos vernizes ), congestionando o conjunto de portas disponíveis SYN_SENT
.
Keep-alives são ativados no Apache (15s).
De que lado está a culpa? A quantidade de tráfego é significativa, mas de maneira alguma deve causar a instalação (3x máquinas front-end Varnish, 3x servidores Apache back-end).
Por favor ajude.
A captura de tela do Munin para conexões por firewall está aqui .
Verniz
~$ netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
9 CLOSE_WAIT
12 CLOSING
718 ESTABLISHED
39 FIN_WAIT1
1714 FIN_WAIT2
76 LAST_ACK
12 LISTEN
256 SYN_RECV
6124 TIME_WAIT
/etc/sysctl.conf (verniz)
net.ipv4.netfilter.ip_conntrack_max = 262144
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60
net.ipv4.ip_local_port_range = 1024 65536
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_fin_timeout = 30
Apache
netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
11 CLOSE_WAIT
286 ESTABLISHED
38 FIN_WAIT2
14 LISTEN
7220 TIME_WAIT
/etc/sysctl.conf (Apache)
vm.swappiness=10
net.core.wmem_max = 524288
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.core.rmem_max = 524288
net.ipv4.tcp_rmem = 4096 262144 524288
net.ipv4.tcp_wmem = 4096 262144 524288
net.ipv4.tcp_mem = 4096 262144 524288
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_keepalive_time = 30
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.core.somaxconn = 2048
net.ipv4.conf.lo.arp_ignore=8
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
vm.swappiness = 0
kernel.sysrq=1
kernel.panic = 30
SYN_SENT
estatísticas altas é o firewall; você está dizendo que parece que o firewall é o gargalo?