問(wèn)題起因:
今天兩個(gè)同事向我反映workspace.jsp頁(yè)面性能下降了,開始以為他們機(jī)器性能差或者jsp沒(méi)有編譯的原因。礙于面子,就坐下來(lái)看了一下,這一看不要緊,每次點(diǎn)都比較慢。兩個(gè)人的機(jī)器配置也不差,以前同樣的應(yīng)用速度還是能夠忍受的。我立刻感覺(jué)到了可能確實(shí)存在了問(wèn)題,一個(gè)頁(yè)面在tomcat單機(jī)下要幾秒才能出來(lái),肯定是有問(wèn)題了。我們的系統(tǒng)是企業(yè)級(jí)別的應(yīng)用,并發(fā)客戶量非常的大。要是出了這樣的問(wèn)題,肯定會(huì)當(dāng)場(chǎng)癱瘓的。
問(wèn)題分析:
我首先通知了負(fù)責(zé)這個(gè)模塊的同事,檢查最近這個(gè)功能的修改紀(jì)錄。最后發(fā)現(xiàn)原來(lái)是增加了一個(gè)ocx控件的調(diào)用。每次訪問(wèn)這個(gè)頁(yè)面都要重新從服務(wù)器下載這個(gè)控件,導(dǎo)致了頁(yè)面加載的性能問(wèn)題。
解決辦法:
把控件的加載放到了同一個(gè)頁(yè)面的另一個(gè)frame的top.jsp,這樣登陸的時(shí)候只需要下載一次緩存這個(gè)控件,之后workspace.jsp通過(guò)top.jsp所在的frame訪問(wèn)到該ocx控件。工作區(qū)頁(yè)面的顯示速度又恢復(fù)了原來(lái)的樣子。
問(wèn)題總結(jié):
1、要相信直覺(jué)的力量,發(fā)現(xiàn)問(wèn)題及時(shí)定位,不能攢到一起,再排地雷
2、要聯(lián)系該模塊最近的變更,及時(shí)找到問(wèn)題的根源。
3、要注意收集總結(jié)這樣的案例,以備將來(lái)的性能改造。