月光博客

青青子衿, 悠悠我心, 但为君故, 沉吟至今

« 愚人节的新闻数则博客第一季度数据统计 »

Z-Blog首页实现了静态化

  今天花了两个小时的时间将我使用的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的性能问题,并且也有首页静态化插件,不会再发生我现在这种问题了。



原创文章如转载,请注明:转载自月光博客 [ http://www.williamlong.info/ ]

本文链接地址:http://www.williamlong.info/archives/1293.html
  • 文章排行:
  • 3.fengyihot
  • 郁闷。asp的安全性低,运行又不佳。不知道用aspx的?

    给你推荐一款。http://www.loveyuki.com/
  • 2008-4-2 15:44:30
  • 4.低调年华
  • http://vip.bohd.org/
  • 希望月光大哥再说的详细点~
    “然后在重建缓存和提交评论的地方加入BlogReBuild_Index.”
    不了解在哪加...
    按照方法改了基本没成功
    我也在用1.7,对1.7改的太多,不打算升级1.8
  • 2008-4-2 16:10:03
  • 9.低调年华
  • http://vip.bohd.org/
  • 抱歉,不懂ASP代码...
    '*********************************************************
    ' 目的: Post Comment
    '*********************************************************
    在Set objComment=Nothing下面加的BlogReBuild_Index

    '*********************************************************
    ' 目的: Post TrackBack
    '*********************************************************
    在Set objTrackBack=Nothing下面加的BlogReBuild_Index

    在MakeBlogReBuild=True下面加的BlogReBuild_Index

    '*********************************************************
    ' 目的: Blog ReBuild
    '*********************************************************
    在MakeBlogReBuild=True下面加的BlogReBuild_Index

    这样加吗?可以生成default.html,但添加新评论后,不像月光博客那样首页可以自动更新。
  • 2008-4-2 17:07:43
  • 14.低调年华
  • http://vip.bohd.org
  • 偶ASP代码一点也不懂~ 超菜一个~

    '*********************************************************
    ' 目的: Post Comment
    '*********************************************************
    在Set objComment=Nothing下面加的BlogReBuild_Index

    '*********************************************************
    ' 目的: Post TrackBack
    '*********************************************************
    在Set objTrackBack=Nothing下面加的BlogReBuild_Index

    '*********************************************************
    ' 目的: Blog ReBuild
    '*********************************************************
    在MakeBlogReBuild=True下面加的BlogReBuild_Index

    这样加吗?可以生成default.html,但添加新评论后,不像月光博客那样首页可以自动更新。
  • 2008-4-2 18:25:01
  • 33.coffeeun
  • 请教, 如何从外部调用 zblog 的文章, 不是script的

    在 z-blog论坛搜了一下, 基本解决办法是:
    <script language="JavaScript"src="<#ZC_BLOG_HOST#>function/c_html_js.asp?include=previous"type="text/javascript"></script>

    可是 script调用,不能生成html,而且搜索引擎不容易识别
    还有没有其它的调用方法?
  • 2008-4-18 8:43:17

发表评论:

◎声明:转载本文时请务必以超链接形式标明文章原始出处和作者,本文严禁商业网站转载。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过鲜果订阅本站
  • 通过抓虾订阅本站
  • 通过电子邮件订阅本站

站内搜索


热文排行

最新评论

最近发表

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.

This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.