1. 程式人生 > >【總結】 Nginx大量TIME_WAIT的解決辦法

【總結】 Nginx大量TIME_WAIT的解決辦法

在阿里雲預設的系統TCP引數情況下,會導致大量的TIME_WAIT出現

檢視

優化方法

修改核心引數

# vi /etc/sysctl.conf  
net.ipv4.tcp_syncookies = 1  
net.ipv4.tcp_tw_reuse=1 #讓TIME_WAIT狀態可以重用,這樣即使TIME_WAIT佔滿了所有埠,也不會拒絕新的請求造成障礙 預設是0  
net.ipv4.tcp_tw_recycle=1 #讓TIME_WAIT儘快回收 預設0  
net.ipv4.tcp_fin_timeout=5

# sysctl -p 使更新生效

最後所有引數如下:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10

參考資料:

1. Linux下高併發socket最大連線數所受的各種限制

2. TCP/IP及核心引數優化調優

3. 優化Linux下的核心TCP引數以提高系統性能

4. nginx大量TIME_WAIT的解決辦法

 

本部落格中Nginx相關文章:

1、用Nginx實現https轉http

2、【總結】Nginx實現HTTPS設定

 

------------------------------------------------------

------------------------------------------------------

我的個人域名

 

期望和大家一起學習,共同進步,共勉,O(∩_∩)O謝謝

歡迎交流問題,可加個人QQ 469580884

或者,加我的群號 751925591,一起探討交流問題

不講虛的,只做實幹家

Talk is cheap,show me the code