您好,欢迎来到网址免费提交!网站收录,值得选择!
当前位置:网址免费提交 » 站长资讯 » 免费资源 » 技术文章 » 文章详细

提高Z-Blog博客性能优化、增加评论IP显示功能

来源:站长分类目录 浏览:295次 时间:2014-10-26

前些天有用Z-Blog做博客的站长使用发现,Z-Blog存在的一个很严重的性能问题,就是当单篇文章日访问量数万的时候,会有大量并发用户同时写Access数据库,会导致数据库死锁,之后的外在表现就是CPU占用猛增。

经过对Z-Blog的代码进行分析,研究发现其原因是大并发用户同时写数据库产生的原因。

在这里想到了一个针对这个问题的解决思路与大家分享一下,就是时间缓存,定时写数据库,在一定时间内,数据只写入内存,不写入数据库,当缓存时间到了以后,再把内存的数据写入数据库。这样,即使再大的并发量,也不会再发生数据库死锁的问题了。

经过初步的代码修改和测试,发现修改完了以后就没有这个问题了。

修改方法是,打开FUNCTION目录下的c_html_js.asp文件,修改UpdateCountInfo函数为以下代码即可。

Function UpdateCountInfo(id)

 Dim strLastUpdate
 Dim intArticleCount
 Dim aryArticleCount
 Dim objRS

 Application.Lock
 strLastUpdate=Application(ZC_BLOG_CLSID&"LAST_UPDATE")
 aryArticleCount=Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")
 aryArticleCount(id)=aryArticleCount(id)+1
 Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")=aryArticleCount
 Application.UnLock

 If IsEmpty(strLastUpdate) Or Not IsDate(strLastUpdate) Then
  Application.Lock
  Application(ZC_BLOG_CLSID&"LAST_UPDATE") = Now()
  strLastUpdate = Application(ZC_BLOG_CLSID&"LAST_UPDATE")
  Application.UnLock
 End If

 If DateDiff("s",strLastUpdate,Now()) > 30 Then
 '如果当前时间与上次保存计数值的时间差大于设定的时间间隔,则把计数值重新写入数据库
  Call OpenConnect()

  Set objRS=objConn.Execute("SELECT [log_ID],[log_ViewNums] FROM [blog_Article] WHERE [log_ID] =" & id)
  If (not objRS.bof) And (not objRS.eof) Then
   intArticleCount=objRS("log_ViewNums")
  Else
   intArticleCount=0
  End If
  objRS.Close
  Set objRS=Nothing

  If aryArticleCount(id) > intArticleCount Then
   objConn.Execute("UPDATE [blog_Article] SET [log_ViewNums]=" & CStr(aryArticleCount(id)) & " WHERE [log_ID] =" & id)
   Application.Lock
   Application(ZC_BLOG_CLSID&"LAST_UPDATE") = Now()
   Application.UnLock
  Else
   aryArticleCount(id) = intArticleCount
   Application.Lock
   Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")=aryArticleCount
   Application.UnLock
  End If

  Call CloseConnect()
 End If

End Function

另外,默认的Z-Blog留言评论是没有用户IP地址显示的,通过一些修改,可以在留言中增加用户IP地址前三位的显示功能,具体实现方法如下。

修改c_system_lib.asp文件的Public Function MakeTemplate(strC)函数,加入下面语句:

 ReDim aryTemplateTagsName(12)
  ReDim aryTemplateTagsValue(12)

  aryTemplateTagsName( 12)="article/comment/ip"
  if AuthorID=1  then
   aryTemplateTagsValue(12)=""
  else
   aryTemplateTagsValue(12)="ip:" + Left(IP, InStrRev(IP, ".")) + "*"
  end if

   修改TArticle的Function Export_CMTandTB()函数,将 objComment.LoadInfoByArray(Array(objRS("comm_ID"),objRS("log_ID"),objRS("comm_AuthorID"),objRS("comm_Author"),objRS("comm_Content"),objRS("comm_Email"),objRS("comm_HomePage"),objRS("comm_PostTime"),"","")) 改为 objComment.LoadInfoByArray(Array(objRS("comm_ID"),objRS("log_ID"),objRS("comm_AuthorID"),objRS("comm_Author"),objRS("comm_Content"),objRS("comm_Email"),objRS("comm_HomePage"),objRS("comm_PostTime"),objRS("comm_IP"),""))

  修改 b_article_comment.html ,增加 <#article/comment/ip#>标签。

之后,文章评论就会出现评论者的IP地址栏,不过有个问题是,当评论有人回复的是时候,只能留下最后一个回复者的IP地址。

推荐站点

  • 纸质化妆盒_环保眼影盒纸质化妆盒_环保眼影盒

    1、纸质眼影盒特点,产品多元化:工艺纸盒具有重量轻、品种多样化的特点。不像注塑的产品由于磨具限制的原因,款式形状单一。2、环保优势:纸质眼影盒内外选用的均是纸质的环保材料,具有可回收、可降解等特点,相比现有的眼影盒通过注塑成型,更加环保,可有效防止环境的污染和破坏不但可以重复利用,还可以用废弃的纸包装制品造肥。3、技术优势:纸包装材料伸缩性小,不受热和光的影响,具有更好的稳定性;纸的不透明性,能够提供隐蔽隔离,使某些产品不能从包装外部看到,满足了某些产品的包装需要。工艺纸盒还具有良好的透气性、柔软性、强度及可控的撕裂性能;使产品有很好的弹性和韧性,可以对被包装物提供一定的保护作用。 纸质化妆盒、又叫纸质眼影盒、纸质腮红盒、眼影纸本、手工眼影本、眼影书本等叫法、纸质化妆品盒有优势。。。

    www.f58f.com
  • 免费信息发布_免费网址提交_免费供求信息_企业平台_企业资讯平台-咱的商务网免费信息发布_免费网址提交_免费供求信息_企业平台_企业资讯平台-咱的商务网

    咱的商务网是一个集企业平台、企业资讯、免费信息发布、免费网址提交,免费供求信息等频道于一体的互联网平台。 网站定位精确,服务专业、稳定,网站上线以后受到广大用户的良好反馈。 咱的商务网是企业间(B2B)电子商务信息沟通的桥梁。面向国内外供应商、采购商、贸易商、生产商提供产品信息服务。以会员的形式,面向中小型投资者提供各类型供求、合作、技术信息发布,并以其为基础,拓展企业信息库、产品信息库和相关的个性化服务。 为广大企业提供系统、丰富、全面、深入、及时的信息资讯、技术项目、市场信息、会展信息和人才信息等。 咱的商务网是倡导一站式服务理念的综合性信息服务平台,已成为企业、用户实现信息化和获取资讯的门户。 本网站免费注册会员、免费信息发布、网站免费收录、b2b信息发布平台、信息网站大全、商务信息网、免费收录网站、网址免费提交、供求信息发布。

    www.zandeb2b.com
  • beauty_manicures_pedicures | EverlastingBeautybeauty_manicures_pedicures | EverlastingBeauty

    Everlasting Beauty Co.,Ltdd offers beauty, manicure、pedicure, eyelashes, nail, nail art, nail supply, nail art tools, beauty tools etc. and we are an union team of professional manufacturers for beauty products located in Zhejiang Province China since 2003

    www.elbeautyhouse.com
  • 免费发布信息网站大全_大中国商业信息网免费发布信息网站大全_大中国商业信息网

    大中国商业信息网免费发布不限制条数,大中国商业信息网是一个可以免费发布分类信息的B2B平台。可免费发布您的产品信息!便捷免费的B2B供求信息发布平台

    www.greatcnb2b.com
  • 免费发布信息网站大全_大中华电子商务网免费发布信息网站大全_大中华电子商务网

    大中华电子商务网免费发布不限制条数,大中华电子商务网是一个可以免费发布分类信息的B2B平台。可免费发布您的产品信息!便捷免费的B2B供求信息发布平台

    www.greatercnb2b.com