服务器之家:专注于服务器技术及软件下载分享
分类导航

DEDECMS|帝国CMS|Discuz|PHPCMS|Wordpress|ZBLOG|ECSHOP|

服务器之家 - 建站程序 - DEDECMS - 加快织梦dedeCMS内容生成速度方法

加快织梦dedeCMS内容生成速度方法

2019-06-03 10:31服务器之家服务器之家 DEDECMS

最近有位站长朋友咨询一个十几万数据的DedeCMS系统,发现用Dedecms生成速度,慢的跟蜗牛一样,CPU达到100%,有时候半天都不动。这让大数据的网站的站长非常头疼,下面为大家解决这个问题

大家会经常碰到这样的问题,如果织梦后台文档比较多,数据比较大的时候,生成栏目文档会相当慢。最近小编一直在和一位朋友聊关于怎样才可以加快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秒猛降到不到一秒,到达中部的时间 至此结束,终于满足了,不用再享受龟速的生成速度了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

延伸 · 阅读

精彩推荐