今天發(fā)布文章時(shí),發(fā)現(xiàn)后臺管理界面運(yùn)行速度非常慢。想想這幾天也沒有更新過什么文件,一直以來也都運(yùn)行得好好的,一時(shí)之間不知從哪里著手查明原因。
一開始我以為是數(shù)據(jù)庫太大的緣故,于是壓縮修復(fù)了數(shù)據(jù)庫,但問題依舊;之后,我又懷疑是服務(wù)器某些地方的文件造成的原因,于是,花了大量的時(shí)間去清理服務(wù)器的日志、臨時(shí)文件等等我認(rèn)為會可能造成這一問題的地方,回收應(yīng)用程序池,重啟IIS。。。就剩沒有重啟服務(wù)器了,然而,令人失望的是,問題依然沒有解決。
排查程序
最后,不得不從zblog的程序檢查入手了。
通過firefox開發(fā)者工具(如何利用Firefox自帶的Web開發(fā)者工具分析網(wǎng)頁)或者Chrome開發(fā)者工具(如何使用Chrome開發(fā)者工具),打開頁面診斷,發(fā)現(xiàn)每個(gè)頁面都要等待10多秒,很明顯是被某一個(gè)程序給卡住了。
每個(gè)頁面都要等待10多秒
然而,狀態(tài)欄卻全是顯示“等待www.howtostagehomes.com...”
等待狀態(tài)
這就說明,網(wǎng)頁不是被第三方外掛程序拖慢,而是自身的程序。
我于是打開程序主頁面admin.asp,采用排除法,逐個(gè)把引用的函數(shù)注釋掉。這個(gè)排查過程比較繁瑣,耗了一點(diǎn)時(shí)間。
最后發(fā)現(xiàn),當(dāng)把檢查插件的那段代碼注釋掉后,頁面速度恢復(fù)正常了,等待時(shí)間由10多秒變成了100多毫秒。
等待時(shí)間由10多秒變成了100多毫秒
可能是某個(gè)插件引起
由于問題出在與插件有關(guān)的那段代碼上,我就有理由懷疑是某個(gè)插件所致了。按照這個(gè)思路,我又逐個(gè)插件卸載,最后發(fā)現(xiàn)是PluginSapper這個(gè)插件拖垮了網(wǎng)速。PluginSapper是zblog官方提供的一個(gè)插件,它提供了編輯插件信息,安裝刪除插件,導(dǎo)入導(dǎo)出插件,在線安裝升級插件等功能。
為什么這個(gè)插件出問題了呢?帶著這個(gè)問題,我查看了這個(gè)插件的源代碼,發(fā)現(xiàn)每次打開頁面,這個(gè)插件都會自動檢測,并去請求一個(gè)來自官網(wǎng)的下載鏈接地址:http://download.rainbowsoft.org/Plugins/,然而,這個(gè)官網(wǎng)的地址不知什么原因已經(jīng)連不上了,這就是“等待”時(shí)間過長的真正原因。
解決方法
進(jìn)入“插件管理”頁面,停用PluginSapper這個(gè)插件即可。
也可以直接從\PLUGIN\p_include.asp這個(gè)文件里,把下面這行刪除掉即可:
<!-- #include file="PluginSapper/include.asp" -->
后記
這里用的是zblog2.x之前的版本,現(xiàn)在的新版不知有無此問題。如果新版仍然存在此問題,則需要官方修正一下這個(gè)插件,一勞永逸。