月光博客 » 编程开发 » Z-Blog大访问量异常的解决方法

Z-Blog大访问量异常的解决方法

  Z-Blog是一个很好的单用户Blog系统,我不止一次这么说了,特别是当访问量很大的情况下,Z-Blog的表现也是可圈可点的,唯一的问题可能还是和数据库有关。

  Z-Blog之所以可以应付大访问量的负载,主要是因为其缓存(Cache)技术,在重建页面的时候,将大量数据以缓存文件的方式放在Include目录下,这样对于访客的访问就基本可以不连接数据库,而真正可能出问题的瓶颈,显然就是数据库。

  Z-Blog是基于ASP+ACCESS的,ACCESS数据库存在的问题是非常严重的,当外部连接数增大的时候,ACCESS数据库的处理能力飞快的下降,数百个同时在线连接就可以让ACCESS数据库处于死锁的状态,从而导致网站崩溃。因此,如果你的BLog日访问量有几万IP,那么你使用Z-Blog必须要面对这个数据库性能问题。

  目前Z-Blog 1.5存在的性能问题,就是对于数据库访问的问题(1.6版本已经进行了部分修改)。单个页面中,页面计数器存在对于数据库的直接访问,并且是Update方法的访问,这个访问是会带来麻烦的,由于这个计数器的存在,当在线连接数猛增的时候,Z-Blog的文章页面将出现类似死锁的界面,因为数据库会死掉。同时还会发生的事情是,所有评论留言都会死锁,因为那也是访问数据库。进而所有访问数据库的功能都会死锁。

  当然,这个问题可以使用换SQL Server来解决,不过需要修改Z-Blog的相关代码,而且如果是企业用户,需要购买价格不菲的SQL Server。ACCESS无法解决这个问题,因为其本身有不可调和的内部问题。

  如果不使用换数据库的方法,就只有在代码上下功夫了。根据我的观察,对于数据库的直接访问应该就只有计数器这个部分,我目前想到一个思路,就是将计数器的内容也当作文件写入Cache,系统读计数器,全部从Cache中读取,当进行索引重建的时候,再将Cache中的数据写入ACCESS数据库中,这样就可以做到大部分访问都脱离数据库,当在线连接数很大的时候,性能问题也有可能得到一定的解决。

  当然,这样的功能需要写不少程序代码,如果不想写代码,而又遇到异常的大访问量,那么修改Z-Blog模板删除页面计数器功能,也可以临时解决一些问题,代价是文章无法统计点击数了。

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    rainbowsoft   说道:
    服务器重启时CACHE会掉的
    除非写成全局事件,在重启前全部写回DB里去
    支持(18反对(11回复
  1. 2
    rainbowsoft   说道:
    引自 williamlong
    不会吧,你那个cache下的文件会自动删除吗?如果将计数器文件建立在Include下应该不会删除了吧。

    我的意思是你把计数的array写进内存的cache时就会面临意外关机或是重启时清零的问题.
    应该是间隔一定时间保存到文件的cache中去.
    支持(19反对(12回复
  1. 3
    ParK   说道:
    呵呵,暫時沒有這麼高的訪問量
    支持(21反对(14回复
  1. 4
    afan   说道:
    williamlong兄,我不小心把Cache里的文件都给删了,导致博客不能显示文章。怎么办,我没备份啊,还有后台登陆不上去,总是提示失败。
    http://www.faninf.cn/blog
    支持(14反对(12回复
  1. 5
    学习方法   说道:
    请问:站点统计信息不能自动更新是怎么问题?每次要发表新文章或重建才能更新。
    支持(13反对(11回复
  1. 6
    Aether   说道:
    其实点击数关掉也罢,有Google计数分析就够了,分析和报表才是重点。
    支持(15反对(14回复
  1. 7
    linker   说道:
    zblog确实非常优秀!
    其实,确实非常希望能够有修改为sql server的说明。空间提供商已经给我警告了三次了。并且在这里,我才知道空间商警告我的原因。
    williamlong兄,是否有意为之一下?
    支持(16反对(15回复
  1. 8
    williamlong   说道:
    SQL SERVER和ACCESS的不同就是和时间上处理有一些不同,大部分功能都可以不修改代码即可移植,你直接将ACCESS中的文件转换到SQL Server看看如何。
    支持(18反对(17回复
  1. 9
    菠萝莉   说道:
    先涨涨见识,流量还没有呢。呵呵
    支持(11反对(10回复
  1. 10
    williamlong   说道:
    不明白你说的是什么意思。
    支持(15反对(15回复
  1. 11
    老兄   说道:
    学习中 感谢 :)
    支持(10反对(10回复
  1. 12
    haha   说道:
    很不错,真心可以
    支持(0反对(0回复
  1. 13
    4345534   说道:
    这类博客都是html 吗?
    支持(14反对(15回复
  1. 14
    策战天下   说道:
    最近想做个新的博客。。。。特地 过来看看教程。。。希望对我有用
    支持(12反对(13回复
  1. 15
    Aether   说道:
    另外,页面上众多的相关链接虽然增大了流动的可能性,但是也增加了用户对选择的难度,选择太多,就等于没有选择,所以相关性的东西也不是越多越好吧。
    支持(15反对(17回复
  1. 16
    even   说道:
    点击数其实不是大问题,很多问题都牵涉到数据库,我想知道如何通过修改Z-Blog的相关代码换成SQL Server。

    月光能写个教程么?
    支持(12反对(14回复
  1. 17
    ted   说道:
    我遇到一个问题就是由于我得空间搬迁我就把文件全部down下来
    然后再上传上去,发现不能管理登陆了!
    这是为什么?
    http://www.googleg.cn/blog2/
    QQ:32318756
    支持(10反对(12回复
  1. 18
    williamlong   说道:
    不会吧,你那个cache下的文件会自动删除吗?如果将计数器文件建立在Include下应该不会删除了吧。
    支持(15反对(18回复
  1. 19
    man   说道:
    请问月光,zblog的分类文章怎么调用的囝??
    想在另一个网站调用原先的那个zblog的分类文章?
    支持(14反对(18回复
  1. 20
    零钱博客   说道:
    我还在犹豫用WP 还是Zblog
    支持(8反对(13回复
  1. 21
    迷你之家   说道:
    我还以为这文件夹多余想删掉呢!zblog不是可以生成静态html页面吗,不过很占用空间...
    支持(13反对(20回复

发表留言