【現(xiàn)象】:應(yīng)用響應(yīng)慢,被監(jiān)控腳本重啟;應(yīng)用負(fù)載低、訪問壓力小。
創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計制作、做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元無棣做網(wǎng)站,已為上家服務(wù),為無棣各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
【原因分析】:
1、使用netstat -na|wc -l查看連接數(shù),連接數(shù)正常
2、使用kill -3 PID,查看生成的jvm_xxx.log,看java正在做什么,看是否正常
如:
化妝品庫,在應(yīng)用被監(jiān)控腳本重啟前生成的jvm LOG中有如下信息
統(tǒng)計發(fā)現(xiàn),有230多個線程都在運行此任務(wù);
Resin只配置了256個線程,這個請求占用的線程過多,Resin沒辦法去處理別的請求,引起請求超時。
3、這些請求是什么,為什么會這么多呢,從業(yè)務(wù)上查看了解到,這個請求是化妝品庫這個應(yīng)用去請求快搜的一個接口(使用httpclient方式),把拿回來的數(shù)據(jù)進(jìn)行格式化后在前臺顯示。
4、Httpclient方式,每個請求都需要占用一個線程,當(dāng)一個請求完成后線程才會被重用,當(dāng)被調(diào)用的系統(tǒng)響應(yīng)較慢時,會導(dǎo)致調(diào)用它的應(yīng)用本身的線程占用過多,沒資源提供其它服務(wù)。
【解決方案】:
調(diào)整應(yīng)用使用httpclient方式調(diào)用其它資源的方法,改為別的方式或增加緩存減少調(diào)用次數(shù)。