月光博客

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

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

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.低调年华
  • 希望月光大哥再说的详细点~
    “然后在重建缓存和提交评论的地方加入BlogReBuild_Index.”
    不了解在哪加...
    按照方法改了基本没成功
    我也在用1.7,对1.7改的太多,不打算升级1.8
  • 2008-4-2 16:10:03   回复该留言
  • 5.lovehr
  • ZB很好用的,希望大家都能够用ZB..
  • 2008-4-2 16:27:01   回复该留言
  • 6.redleaffly
  • 在去年首页我就实现静态化了,只是现在用wordpress 资源占用更大
  • 2008-4-2 16:35:52   回复该留言
  • 7.williamlong
  • williamlong.info
  • 在重建缓存函数MakeBlogReBuild和提交评论函数PostComment和提交引用函数PostTrackBack的尾部加入语句BlogReBuild_Index。
  • 2008-4-2 16:37:53   回复该留言
  • 8.站外
  • 不错。zblog首页确实是需要静态化的
  • 2008-4-2 17:06:31   回复该留言
  • 9.低调年华
  • 抱歉,不懂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   回复该留言
  • 11.蜜桃
  • 这个办法 别人不用学的,除了你还有谁的zblog有这么多流量。
  • 2008-4-2 17:49:46   回复该留言
  • 13.Washun
  • z-blog1.8已经可以实现静态化了,安装静态化插件即可。
  • 2008-4-2 18:24:01   回复该留言
  • 14.低调年华
  • 偶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   回复该留言
  • 15.不是俺
  • 危险。这样的话,过几天再搜“zblog首页静态化”,出现在开头的将不是zbloggerbbs的结果,而是williamlong.info的结果。
  • 2008-4-2 19:05:21   回复该留言
  • 19.cyg
  • 其实当访问量还不高的时候无需这个做,像月光这样大访问量的Z-Blog毕竟还是少数。
  • 2008-4-2 22:06:55   回复该留言
  • 23.斑马
  • Zblog1.8版做的,的确比1.7有了不少的提高。
  • 2008-4-3 0:37:32   回复该留言
  • 27.飞月
  • 学习了,今天突然发现月光的博客网址多了一个小图标了!还是一个红色的小龙呢~以前没有意思到哦!
  • 2008-4-4 3:52:53   回复该留言
  • 28.johnny
  • zblog静态化了,不过么……感觉打开的速度好象还是一般……可能是虚拟主机用的不好吧
  • 2008-4-5 23:42:43   回复该留言
  • 29.巴士飞扬
  • 回复#14楼

    不自动更新,也许是因为你不是使用的JS方法显示评论,请改用JS方法显示评论就可以
  • 2008-4-8 14:35:01   回复该留言
  • 32.killkid
  • 哎.用PJ很久了.也想测试下其他的。.呵呵
  • 2008-4-14 23:59:19   回复该留言
  • 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   回复该留言
  • 35.ken
  • 月光,我的网站里包含了一个博客,我想在首页调用博客文章怎么办?急求
  • 2008-7-16 0:26:33   回复该留言
  • 38.傅晶的博客落地请开手机
  • 傅晶的博客~落地请开手机
  • 2009-3-20 14:08:17   回复该留言
  • 39.傅晶的博客落地请开手机
  • 傅晶的博客~落地请开手机傅晶的博客~落地请开手机
  • 2009-3-20 14:08:30   回复该留言
  • 40.傅晶的博客落地请开手机
  • 傅晶的博客~落地请开手机
    傅晶的博客~落地请开手机
  • 2009-3-20 14:08:37   回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

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

站内搜索

热文排行

最新评论及回复

最近发表

网站收藏

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

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