Récemment, nous avons rencontré des problèmes avec notre configuration Varnish (3x) -> Apache (3x), ce qui a provoqué un énorme pic de SYN_SENT
connexions.
Le pic lui-même est dû à la quantité de nouveau trafic frappant le site (et non à un DDOS d'aucune sorte), et il semble que nos machines Varnish ont des problèmes pour transmettre du trafic vers les serveurs principaux (le trafic Apache est corrélé aux pics sur les vernis). ), encombrant le pool de ports disponibles avec SYN_SENT
.
Les Keep-Alives sont activés sur Apache (15s).
De quel côté est la faute? La quantité de trafic est importante, mais elle ne devrait en aucun cas provoquer le blocage d'une telle configuration (3 machines frontales Varnish, 3 serveurs Apache backend).
Veuillez aider.
La capture d'écran de Munin pour les connexions via le pare-feu est ici .
Vernis
~$ 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 (Vernis)
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
statistiques élevées est le pare-feu; dites-vous qu'il semble que le pare-feu est le goulot d'étranglement?