近期,發(fā)現(xiàn)WEB服務(wù)器netstat -nap時(shí),超多TIME_WAIT 狀態(tài)的連接,每臺(tái)WEB超過 2萬(wàn),峰值超4萬(wàn);導(dǎo)致服務(wù)響應(yīng)變慢 ;
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),碑林企業(yè)網(wǎng)站建設(shè),碑林品牌網(wǎng)站建設(shè),網(wǎng)站定制,碑林網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,碑林網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。WEB服務(wù)器跑的是PHP程序,這些程序需要調(diào)用后端的MemCache,mysql,Redis,mongodb以及后端的 http接口服務(wù),其中MemCache、http接口服務(wù)的調(diào)用量相對(duì)較大;
根據(jù)BAIDU的結(jié)果,分析原因?yàn)?,PHP為CGI方式,一個(gè)頁(yè)面請(qǐng)求可能會(huì)有幾十次的各種內(nèi)部調(diào)用,程序執(zhí)行完后,連接就斷開了,根據(jù)網(wǎng)絡(luò)協(xié)議,斷開的連接必然會(huì)保持一段時(shí)間的TIME_WAIT,默認(rèn)是保持4分鐘;如果4分鐘內(nèi)的請(qǐng)求數(shù)過高,如超過3萬(wàn),本機(jī)的TCP端口數(shù)必然會(huì)不夠用(默認(rèn)情況下,linux臨時(shí)端口號(hào)范圍是(32768,61000),本機(jī)可用于調(diào)用的端口約3萬(wàn)個(gè)),進(jìn)而導(dǎo)致調(diào)用后端服務(wù)阻塞,頁(yè)面響應(yīng)變慢;
處理方式:根據(jù)以上分析,對(duì)OS系統(tǒng)內(nèi)核參數(shù)做修改,啟用TIME_WAIT連接重用,TIME_WAIT連接回收、縮短連接保持時(shí)間、增加可用端口數(shù):
#vi /etc/sysctl.conf
net.ipv4.tcp_tw_reuse = 1 #啟用連接重用
net.ipv4.tcp_tw_recycle = 1 #啟用連接回收
net.ipv4.tcp_fin_timeout = 30 #縮短連接保持時(shí)間
net.ipv4.ip_local_port_range=1024 65000 #增加可用端口數(shù),linux默認(rèn)臨時(shí)端口號(hào)范圍是(32768,61000)
#sysctl -p #修改參數(shù)生效;
注意:這里有個(gè)坑,需要確認(rèn) net.ipv4.tcp_timestamps = 1(這是默認(rèn)值),net.ipv4.tcp_tw_recycle = 1 這個(gè)參數(shù)才有效;
另外,net.ipv4.tcp_tw_recycle = 1 這個(gè)參數(shù)如果是在對(duì)公網(wǎng)用戶提供的服務(wù)器,不能啟用,如果啟用,會(huì)導(dǎo)致其它問題;具體參考 (http://blog.sina.com.cn/s/blog_781b0c850100znjd.html)
修改以上參數(shù)后,連接數(shù)大為降低!!
總結(jié):從以上分析看,主要是內(nèi)部調(diào)用過多,而且又基本上是短連接,導(dǎo)致了大量的TIME_WAIT;
從應(yīng)用設(shè)計(jì)上看,應(yīng)該盡量采用長(zhǎng)連接,連接池,KEEPALIVE等技術(shù)減少對(duì)后端的連接次數(shù),提高連接的效率,這樣可以大大減少連接數(shù),問題也就不存在了!
當(dāng)然,本案例中,前端調(diào)用程序?yàn)镻HP程序,因PHP本身的特性(CGI試,一個(gè)頁(yè)面處理完成后,所有相關(guān)連接就斷了),導(dǎo)致不太好使用長(zhǎng)連接,連接池,KEEPALIVE技術(shù);但仍可以在本頁(yè)面請(qǐng)求內(nèi)部使用,也可以一定程度上減少連接次數(shù);
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
文章標(biāo)題:因超多短連接導(dǎo)致的過多TIME_WAIT的處理方案-創(chuàng)新互聯(lián)
瀏覽地址:http://jinyejixie.com/article2/dcggoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站營(yíng)銷、網(wǎng)站排名、ChatGPT、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)