今天花了两个小时的时间将我使用的Z-Blog 1.7的首页实现了静态化,通过这个静态化处理,使得我的Blog的负荷能力大为增强。
之所以将其静态化,是因为前几天我用Microsoft Web Application Stress Tool对我的博客进行网站性能测试的时候,我发现100个并发就可以让我的Intel双核至强5110 CPU达到100%负荷,这令我大吃一惊。仔细分析了一下,发现可能是因为default.asp中的Call System_Initialize引起的性能问题,因此我就打算使用静态化的方法跳过这条命令。
这个静态化其实是伪静态化,修改default.asp文件,当调用default.asp的时候会自动判断default.html文件是否存在,存在的话就读取这个文件的内容,然后修改c_system_event.asp文件,在重建缓存和提交评论的时候会自动重建首页html文件,最后修改一下首页的模板,将显示评论修改为JavaScript的方式,重建一下,即可正常使用。再使用Microsoft Web Application Stress Tool测试,效果明显,CPU再也没有上30%了。
具体修改方法是:修改c_system_event.asp,加入下面函数:
Function BlogReBuild_Index()
Dim ArtList
Set ArtList=New TArticleList
ArtList.LoadCache
ArtList.template="DEFAULT"
If ArtList.ExportByCache("","","","","","") Then
ArtList.Build
Call SaveToFile(BlogPath & "default.html",ArtList.html,"utf-8",True)
End If
BlogReBuild_Index=True
End Function
然后在重建缓存函数MakeBlogReBuild和提交评论函数PostComment和提交引用函数PostTrackBack的尾部加入语句BlogReBuild_Index。
之后修改default.asp
在其文件开头加入以下语句:
If trim(Request.QueryString.Item) = "" Then
Server.Transfer "default.html"
Response.End
End If
If trim(Request.QueryString.Item)<>"" Then
Call System_Initialize()
Else
Call System_Initialize_WithOutDB()
End If
以上修改在Z-Blog 1.7中实现,使用Z-Blog 1.8的可以忽略此文,因为Z-Blog 1.8已经完全解决了以上的所有问题,解决了System_Initialize的性能问题,并且也有首页静态化插件,不会再发生我现在这种问题了。
没有评论:
发表评论