• 河南网站建设-郑州网站设计-郑州网站建设-手机建站-郑州建站-上海建站

  • 专注网站建设 服务热线: 13061801310

当前位置:好东东网 > 近期动态 > 技术分享 > 正文

Dedecms生成速度慢的解决方案

发布时间:2017-07-15 | 发布者: 东东工作室 | 浏览次数:

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


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



Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]

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 ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]

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/} 这些东西可以用一个独立的域名做


例如:
http://code.yousite.com/css/网站ccs
http://code.yousite.com/img/网站皮肤图片
http://code.yousite.com/plus/search.php
{等等很多能固定的内容利便以后做成大网站好进级的规划}


然后再做模板的时候尽量不要用
{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'/} 即可


天天天生一次那个 自由列表的对应文件就可以了
还有dedecms里面提供了一个广告的治理插件,我总觉得也是鸡肋,天生时候肯定也受到多多少少的影响
所以我的广告都是直接自己建立好的放在一个文件夹里面{为了防止以后健忘那个文件是那个页面的广告可以建立一个记事本对应广告文件的说明}
这样下来 模板的优化就算是做完了 留意的就是: {尽量少用{dede:field}标签处理数据,和一些假如能用自由列表完成的全部用自由列表完成了}


/--------------------数据库处理优化(有效)------------------------------/


可能是由于官方有所留存吧,官方的默认索引不是最优化的,需要大家手动修改下
假如是有自己独立服务器的话建议用Navicat for MySQL 的客户端软件连接到MySQL Server数据长进行治理操纵。


转载一个人的数据库优化教程


个人以为:凡是要排序的字段(好比文档主表的 sortrank、senddate、pubdate、click、goodpost、badpost)和查询前提的字段(好比:typeid,ismake)以及文档ID都要建立索引,假如有一个没有建立,将严峻影响MySQL运行效率,导致天生HTML时速度慢。
当系统启用了审核机制以后,标识文档审核属性的字段ismake必需建立索引。
留意:click这个字段,记实文档点击量,此字段值更新频繁,建立索引后对系统维护索引带来一定的负荷,我已经试验了不只是慢,很慢,所以大家不要给这个加索引,大家自己权衡。有人说频繁更新的字段建立索引会轻易导致数据库损坏,这个我还没有碰到过,需要考证。
下面是主表索引建立的截图


\


可能有些人看到那个有个教程是删除typeid的字段这个大家自己研究看看删除了索引好点仍是留着好点,我自己留着


 


这样优化的话,最低天生速度差未几1分钟能上7到8百片文章速度
假如其他人还有什么优化高招可以自己补上大家一起学习提高

转载请标注:东东工作室——Dedecms生成速度慢的解决方案