linux服務器,請求堵塞,導致服務器掛掉


此文為記錄帖,如果錯誤,煩請指正

 

前提:在Linux服務器中通過Docker部署了服務(WebAPI,使用了swaggerui可視化工具),並使用k8s管理docker容器。

k8s每3秒訪問swaggerui頁面:https://xx.xxx.xxx:80/index.html,設置3秒的超時時間,連續5次訪問失敗,則認為該服務失效,k8s會 kill 此服務。

 

問題:服務被k8s關閉了

 

可能因素:

(1)代碼因素:訪問過多時,等待響應太久(目前設置的100秒),連接一直沒有釋放,就導致阻塞后續的請求

(2)服務器因素:在 linux系統中 一個請求對應操作系統的一個文件描述符,描述符操作系統默認的是4096個,描述符全部占用之后,就無法接收后續的請求,等待前面釋放連接

解決方案:

(1)優化鏡像,描述符增加至65535個,會在一定程度上避免這個問題,但弊端是耗費一定的服務器資源

(2)縮短 http請求的超時時間限制(普遍設置為5-10s)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM