找回密码
 注册
搜索
热搜: 回贴

让你的Z-Blog首页实现静态化

2009-12-11 18:27| 发布者: admin| 查看: 52| 评论: 0|原作者: 墨元




今天花了两个小时的时间将我使用的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
在其文件开头加入以下语句:
以下为引用的内容:

Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If fso.FileExists(Server.MapPath("default.html")) Then
Response.Write LoadFromFile(Server.MapPath("default.html"),"utf-8")
Response.End
End if
Set fso=Nothing

以上修改在Z-Blog 1.7中实现,使用Z-Blog 1.8的可以忽略此文,因为Z-Blog 1.8已经完全解决了以上的所有问题,解决了System_Initialize的性能问题,并且也有首页静态化插件,不会再发生我现在这种问题了。

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 03:31 , Processed in 0.144436 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部