切換到幻燈片模式
這兩天發(fā)現(xiàn)blog系統(tǒng)訪問響應(yīng)變慢,經(jīng)分析發(fā)現(xiàn)服務(wù)器CPU接近100%,而且降不下來,經(jīng)分析應(yīng)該是有大量類似循環(huán)的操作導(dǎo)致。
采用Resin 3.1.2,打開后臺的Threads監(jiān)控頁面(如附件),訪問前臺頁面,多刷新幾次,在后臺再刷新Threads頁面,如果其中的Active項中含有非Resin或Jdk的方法,說明該方法存在嚴(yán)重的性能問題一直處于執(zhí)行狀態(tài)而不能結(jié)束,特別是如果是你自己寫的方法。
經(jīng)此方法檢查,anotherbug發(fā)現(xiàn)當(dāng)前Active的線程中經(jīng)常停留在一個方法,于是將該方法暫時禁用,再重啟Resin進(jìn)行跟蹤,發(fā)現(xiàn)Active不再出現(xiàn)該方法。
附件是Resin的Active項的界面,還有優(yōu)化后的CPU使用情況(幾乎為0)。
http://anotherbug.blog.chinajavaworld.com/entry/2938/0/