我的在線客服系統 go gin服務出現了大量的 too many open files 錯誤 , 這時候服務也是連不上的
前端接口的顯示就是504 , 超出了nginx設置的超時時間
通過lsof -p 進程id
可以看到打開的文件數量已經1031個了 , 說明了超出了單進程打開文件的限制默認1024 , 可以用ulimit -a
查看連接數情況
netstat -altupn|grep 8083
可以看到大量的close_wait狀態 , 說明是我們被動關閉后 , 服務沒有close掉這條連接
查看代碼對websocket的處理后 , 發現確實沒有關閉 , 修改后正常