昨天服務(wù)器突然websocket異常,查看服務(wù)器情況,出現(xiàn)了大量TCP連接數(shù),大量狀態(tài)為CLOSE_WAIT,且TCP連接數(shù)還在一直增長(zhǎng),直至最后整個(gè)websocket崩潰,然后重啟workerman,connections才釋放掉,業(yè)務(wù)恢復(fù)正常。
想請(qǐng)教各位:
1、這種大量CLOSE_WAIT狀態(tài)的TCP連接一般都是由什么導(dǎo)致的?為什么系統(tǒng)已經(jīng)運(yùn)行很多天都沒(méi)有出現(xiàn)此問(wèn)題,昨天卻突然出現(xiàn),雖然昨天出現(xiàn)的時(shí)候網(wǎng)站的訪問(wèn)量比較高,但是相較于以前訪問(wèn)量都還算正常,難道有遭受別人攻擊的情況?
2、我使用了Gateway框架搭建websocket,沒(méi)有加心跳,大量CLOSE_WAIT是否跟這個(gè)有很大關(guān)系,如果有關(guān)系的話,為什么系統(tǒng)已經(jīng)運(yùn)行了很長(zhǎng)時(shí)間都沒(méi)事,剛好昨天出現(xiàn)?
沒(méi)裝event擴(kuò)展導(dǎo)致的。連接數(shù)超過(guò)超過(guò)1000就要裝event擴(kuò)展了。你的都過(guò)萬(wàn)了,肯定要裝了
由于系統(tǒng)環(huán)境是原先同事搭建的,時(shí)間比較久,他也不記得原先是否安裝了event擴(kuò)展了。我看了一些安裝event擴(kuò)展的資料,感覺(jué)都不是很詳細(xì),請(qǐng)問(wèn)怎樣判斷系統(tǒng)是否已經(jīng)安裝了event擴(kuò)展?
php7不安裝libevent擴(kuò)展。event擴(kuò)展安裝需要系統(tǒng)有l(wèi)ibevent庫(kù),并不是要你安裝libevent擴(kuò)展。libevent庫(kù)和libevent擴(kuò)展是2個(gè)概念,類似安裝mysql和安裝mysql擴(kuò)展是2個(gè)事情。