Dedecms生成速度慢的解决方案

最近修改了部分模板,因此有相当一部分页面需要重新生成,在生成时发现Dedecms生成速度慢的受不了,CPU达到100%,小编专门找了另一台闲置的电脑用来生成,一晚上没有关机,三万多数据,竟然用了一晚上还没有完成。在DEDE官方论坛看到这样的解决方法,试了一下,还不错。

打开include/inc/inc_fun_SpGetArcList.php,找到以下代码:

Copy to Clipboard引用的内容:[]

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]."') "; 

将以上代码注释掉,并替换为下边的代码:

Copy to Clipboard引用的内容:[]

for($i=0;$i<$ridnum;$i++){ 
if($tpsql=="") $tpsql .= " And (".TypeGetSunID($reids[$i],$dsql,'arc'); 
else $tpsql .= " Or ".TypeGetSunID($reids[$i],$dsql,'arc'); 
}

这时你再生成静态时,会发现快了很多,原文中提到这是由于不再考虑副栏目,因此就快了。

Dedecms生成速度慢的解决方法(2014年2月补充):

其实很多dedecms生成HTML慢的问题,都已经不能通过上述办法解决了,最火软件小编专门从某技术博客转载了新的优化办法,经测试在10万文档下速度改善了许多(需要说明的是:如果您有上万数据,而用的虚拟主机或VPS就不用优化了,因为那是web服务器性能差。)。

主要从以下几个方面优化(如果不想动模板,建议大家直接搞数据库):

数据库    索引的优化   和   分表的处理
模板    重复读取数据的标签太多
服务器  这些一般大家都会,虚拟主机的不用,个人独立主机的可以看看关于服务器的优化教程

\




   这是优化完的效果截图

我先给大家从模板的地方入手处理

/---------------------模板处理优化-------------------------/

优化模板的话,主要看你自己的栏目设计到用不用二级,如果是二级的话
大家可以建立一个主数据的调取东西例如    {图片,css,/plus/} 这些东西可以用一个独立的域名做

例如:
网站ccs
网站皮肤图片

 {等等许多能固定的内容方便以后做成大网站好升级的规划}

然后再做模板的时候尽量不要用
{dede:global.cfg_templeturl/}
{dede:field name='phpurl'/}
这些还有关于  有{dede:field 的文件, 可以直接写成实际地址,如果是有二级域名的站,写在一个主调取的域名站上

可以不用上下片文章标签,毕竟文章有针对性, 很少人点击上下文章那个,除非是图片站

相关内容可以取舍这个根据使用者选择

至于  推荐  热点的  可以由自由列表处理
例如做一个整站固定的样式然后 用自由列表做出来

图例子:

\

再文章模板里面写  

图例子:

\

{dede:include filename="自由列表生成的文件地址 ismake='no'/}   这里的ismake简单的说就是只里面的东西是否还需要处理  两个选择 yes  no          no就是直接显示里面的内容

{dede:include file="/temp/liuxingfushi.html" ismake='no'/}     我自己在模板的文件夹下又建立了一个temp文件,用来储存每天需要更新的文件
  如果直接在模板文件夹下面的话 不用写/    直接写成{dede:include file="liuxingfushi.html" ismake='no'/} 即可

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e093750f44628ab385dff193d9efd605.html