您好,登錄后才能下訂單哦!
【現象】:應用響應慢,被監控腳本重啟;應用負載低、訪問壓力小。
【原因分析】:
1、使用netstat -na|wc -l查看連接數,連接數正常
2、使用kill -3 PID,查看生成的jvm_xxx.log,看java正在做什么,看是否正常
如:
化妝品庫,在應用被監控腳本重啟前生成的jvm LOG中有如下信息
統計發現,有230多個線程都在運行此任務;
Resin只配置了256個線程,這個請求占用的線程過多,Resin沒辦法去處理別的請求,引起請求超時。
3、這些請求是什么,為什么會這么多呢,從業務上查看了解到,這個請求是化妝品庫這個應用去請求快搜的一個接口(使用httpclient方式),把拿回來的數據進行格式化后在前臺顯示。
4、Httpclient方式,每個請求都需要占用一個線程,當一個請求完成后線程才會被重用,當被調用的系統響應較慢時,會導致調用它的應用本身的線程占用過多,沒資源提供其它服務。
【解決方案】:
調整應用使用httpclient方式調用其它資源的方法,改為別的方式或增加緩存減少調用次數。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。