91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

因超多短連接導致的過多TIME_WAIT的處理方案

發布時間:2020-06-27 20:30:39 來源:網絡 閱讀:1214 作者:13348612118 欄目:網絡安全

近期,發現WEB服務器netstat -nap時,超多TIME_WAIT 狀態的連接,每臺WEB超過 2萬,峰值超4萬;導致服務響應變慢 ;


WEB服務器跑的是PHP程序,這些程序需要調用后端的MemCache,mysql,Redis,mongodb以及后端的 http接口服務,其中MemCache、http接口服務的調用量相對較大;


根據BAIDU的結果,分析原因為,PHP為CGI方式,一個頁面請求可能會有幾十次的各種內部調用,程序執行完后,連接就斷開了,根據網絡協議,斷開的連接必然會保持一段時間的TIME_WAIT,默認是保持4分鐘;如果4分鐘內的請求數過高,如超過3萬,本機的TCP端口數必然會不夠用(默認情況下,linux臨時端口號范圍是(32768,61000),本機可用于調用的端口約3萬個),進而導致調用后端服務阻塞,頁面響應變慢;


處理方式:根據以上分析,對OS系統內核參數做修改,啟用TIME_WAIT連接重用,TIME_WAIT連接回收、縮短連接保持時間、增加可用端口數:


#vi /etc/sysctl.conf

    net.ipv4.tcp_tw_reuse = 1                #啟用連接重用

net.ipv4.tcp_tw_recycle = 1              #啟用連接回收

net.ipv4.tcp_fin_timeout = 30            #縮短連接保持時間

net.ipv4.ip_local_port_range=1024 65000  #增加可用端口數,linux默認臨時端口號范圍是(32768,61000)


#sysctl -p                          #修改參數生效;


注意:這里有個坑,需要確認 net.ipv4.tcp_timestamps = 1(這是默認值),net.ipv4.tcp_tw_recycle = 1 這個參數才有效;


另外,net.ipv4.tcp_tw_recycle = 1 這個參數如果是在對公網用戶提供的服務器,不能啟用,如果啟用,會導致其它問題;具體參考 (http://blog.sina.com.cn/s/blog_781b0c850100znjd.html


修改以上參數后,連接數大為降低!!


總結:從以上分析看,主要是內部調用過多,而且又基本上是短連接,導致了大量的TIME_WAIT;

從應用設計上看,應該盡量采用長連接,連接池,KEEPALIVE等技術減少對后端的連接次數,提高連接的效率,這樣可以大大減少連接數,問題也就不存在了!


當然,本案例中,前端調用程序為PHP程序,因PHP本身的特性(CGI試,一個頁面處理完成后,所有相關連接就斷了),導致不太好使用長連接,連接池,KEEPALIVE技術;但仍可以在本頁面請求內部使用,也可以一定程度上減少連接次數;


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霍山县| 兰州市| 汾阳市| 凤凰县| 兰溪市| 阜新市| 顺平县| 镇康县| 明水县| 平顺县| 剑川县| 衡东县| 屏东县| 西峡县| 鄂温| 新巴尔虎右旗| 廊坊市| 赤壁市| 琼海市| 卓资县| 舟山市| 廉江市| 叶城县| 喀什市| 元江| 凤山市| 满洲里市| 肥西县| 额济纳旗| 扎赉特旗| 景宁| 香格里拉县| 青河县| 额敏县| 恩施市| 普陀区| 密云县| 普宁市| 图们市| 盖州市| 连州市|