Baru-baru ini kami mengalami masalah dengan pengaturan Varnish (3x) -> Apache (3x) kami, yang mengakibatkan lonjakan besar dalam SYN_SENT
koneksi.
Lonjakan itu sendiri disebabkan oleh jumlah lalu lintas baru yang mengenai situs (bukan DDOS dalam bentuk apa pun), dan sepertinya mesin Varnish kami mengalami masalah meneruskan lalu lintas ke server backend (penurunan lalu lintas Apache berkorelasi dengan lonjakan pada pernis ), menumpuk kolam port yang tersedia dengan SYN_SENT
.
Keep-alive diaktifkan di Apache (15s).
Sisi mana yang salah? Jumlah trafik sangat signifikan, tetapi dalam jumlah berapa pun ia tidak akan menyebabkan pengaturan seperti itu (mesin frontend 3x Varnish, server Apache 3x backend) terhenti.
Tolong bantu.
Tangkapan layar Munin untuk koneksi melalui firewall ada di sini .
Pernis
~$ 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 (Varnish)
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
statistik tinggi adalah firewall; apakah Anda mengatakan bahwa sepertinya firewall adalah hambatannya?