使用gateway worker搭建了一個(gè)聊天室
服務(wù)器配置:4核、8G內(nèi)存、2.5GHz、帶寬10M
使用python腳本模擬100用戶登陸每個(gè)用戶1秒發(fā)送一條消息,過幾分鐘,客戶端抓包得出tcp zerwindow,導(dǎo)致客戶端超時(shí)斷開了鏈接,問下walker這種情況該如何去處理或者優(yōu)化。
像這種服務(wù)器環(huán)境最高能夠承載多少并發(fā)量?已經(jīng)按照手冊(cè)優(yōu)化了linux配置,及裝了event擴(kuò)展。
可能是客戶端沒有及時(shí)recv消息,也就是客戶端一直發(fā)消息但不接收消息,導(dǎo)致客戶端socket接收緩沖區(qū)滿,然后發(fā)給服務(wù)器tcp zeroWindow。
是的,腳本確實(shí)沒寫收消息的,謝謝了~~~!像這種配置的話一般能夠抗住多少并發(fā)量?業(yè)務(wù)邏輯里面沒有mysql處理,程度不是很復(fù)雜。能夠承受住多少用戶量。
@1:現(xiàn)在是這種場(chǎng)景,腳本模擬100個(gè)用戶登陸并每秒發(fā)送1條消息,也就是每秒并發(fā)1W,導(dǎo)致有用戶被T掉,是目前的帶寬導(dǎo)致的嗎?還是其他原因。
如果100個(gè)用戶每個(gè)用戶每秒給1萬個(gè)客戶端發(fā)消息那么就是每秒向外發(fā)100萬條消息,你的服務(wù)器肯定扛不住,一般服務(wù)器能每秒向外發(fā)送10萬條消息就非常不錯(cuò)了。
服務(wù)器每秒發(fā)送100萬條消息出去,服務(wù)器需要配備千兆網(wǎng)卡,服務(wù)器帶寬需要上G,cpu也要N核。