別人家的node都是100萬級別的,我的怎麼5000+伺服器就開始主動斷開連接了?

在centos下(ulimit -n:60000,tcp_max_syn_backlog=2048,其它參數基本沒變),伺服器只是listen在5002這個埠,當客戶端發起5000以上的連接時伺服器端就開始主動斷開部分連接,不能維持穩定,導致部分客戶端一直在重連,時不時也有


xhr poll error:503錯誤和timeout錯誤出現,在伺服器通過netstat查看established數很不穩定,1000-20000間波動(個人觀察到sock.io-clientconnect時是會發起四個連接的,netstat顯示是這樣的,但是debug socket.io-client卻只發現三個連接)


你想單台機器100萬連接?

建議先去搜索一下C10K相關的內容,有概念了,再考慮C1000K。


埠不夠用了,總共就6萬5左右埠,埠用完釋放需要時間,假設5萬埠,釋放時間要10秒,就5000連接可用。用長連接來測試試試。


你的操作系統參數調整了嗎?

瓶頸是先系統才是你的程序


你listen 5002埠的這個程序是啥樣的。 可以用最簡單的nc發起一個listen, 然後到客戶端去只做簡單的connect, 再測試看看。

雖然說沒法輕易到達別人家的100w級別, 不過你的5k是肯定不正常的嘛


一百萬閑長連接很輕鬆


你是每個連接都只是簡單Ping-pong呢,還是每個連接都要挖一會bitcoin?差別很大的啊


推薦閱讀:

香港將檢討政策並進行壓力測試 奶粉「限帶令」10月或撤銷
JMeter對網頁訪問的壓力測試性能測試<JMeter的安裝配置詳細測試的使用步驟>
反爬蟲和抗DDOS攻擊技術實踐

TAG:伺服器 | Nodejs | 壓力測試 | 性能優化 | Linux運維 |