大家会经常碰到这样的问题,如果织梦后台文档比较多,数据比较大的时候,生成栏目文档会相当慢。最近小编一直在和一位朋友聊关于怎样才可以加快dedecms生成速度方法。觉得这也是dedecms一个缺点吧!例如如果一个dedecms中有上十万以及上百万的访问量会对网站带来不少的垃圾量。而这样就会导致dedemcs生成速度下降最后导致用户得不到最佳的体验效果。
对这个问题去查了百度也没有一个好的处理方法。之后小编从dedecms官网找到了一段合适的代码,经过了小编测试之后,小编给大家简单的介绍下实现方法。
第一步要进入dedecms根目录中找下目录:
include/inc/inc_fun_SpGetArcList.php
找到如下代码:
- for($i=0;$i<$ridnum;$i++){ if($tpsql==””) $tpsql .= ” And ( (“.TypeGetSunID($reids[$i],$dsql,’arc’).” Or arc.typeid2='”.$reids[$i].”‘) “; else $tpsql .= ” Or (“.TypeGetSunID($reids[$i],$dsql,’arc’).” Or arc.typeid2='”.$reids[$i].”‘) “; }
复制代码找到的如上代码之后可以把上面代码注释掉或者替换都可以,替换改成如下代码: - for($i=0;$i<$ridnum;$i++){ if($tpsql==””) $tpsql .= ” And (“.TypeGetSunID($reids[$i],$dsql,’arc’); else $tpsql .= ” Or “.TypeGetSunID($reids[$i],$dsql,’arc’);
复制代码查找: - $orwhere .= " And ( arc.typeid in ($sonids) Or arc.typeid2 in ($sonids) ) "
复制代码替换为: - $orwhere .= " And arc.typeid in ($sonids) ";
复制代码下面看对生成的具体优化步骤: 1、关闭副栏目,生成速度从50秒20页降到20秒20页 2、删除文档模版中的调用随即文档的标签,即arclist中带有sort=rand的 开启后台中能找到的所有缓存,生成速度从20秒20页降到6秒多一页 3、删除文档模版中的相关文档,生成速度从6秒猛降到不到一秒,到达中部的时间 至此结束,终于满足了,不用再享受龟速的生成速度了!
|