dedecms, 生成, 速度, 解决, 解决方案
最近修改了部分网站的模板,因此有相当一部分页面需要重新生成,在生成时发现Dedecms生成速度慢的受不了,CPU达到100%,小编专门找了另一台闲置的电脑用来生成,一晚上没有关机,三万多数据,竟然用了一晚上还没有完成。 在DEDE官方论坛建站网站程序看到这样的解决具体的方法,试了一下,还不错。 打开include/inc/inc_fun_SpGetArcList.php,找到以下具体代码如下:CopytoClipboard引用的内容:[www.veryhuo.com]for($i=0;$i<$ridnum;$i ){ if($tpsql=="")$tpsql.="And((".TypeGetSunID($reids[$i],$dsql,'arc')."Orarc.typeid2='".$reids[$i]."')"; else$tpsql.="Or(".TypeGetSunID($reids[$i],$dsql,'arc')."Orarc.typeid2='".$reids[$i]."')"; }将以上具体代码如下注释掉,并替换为下边的具体代码如下:CopytoClipboard引用的内容:[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:fieldname='phpurl'/} 这些还有关于有{dede:field的文件,可以直接写成实际地址,如果是有二级域名的站,写在一个主调取的域名站上可以不用上下片文章标签,毕竟文章有针对性,很少人点击上下文章那个,除非是图片站相关内容可以取舍这个根据使用者选择至于推荐热点的可以由自由列表处理 例如做一个整站固定的样式然后用自由列表做出来图例子: 再文章网站的模板里面写图例子: {dede:includefilename="自由列表生成的文件地址ismake='no'/}这里的ismake简单的说就是只里面的东西是否还需要处理两个选择yesnono就是直接显示里面的内容{dede:includefile="/temp/liuxingfushi.html"ismake='no'/}我自己在网站的模板的文件夹下又建立了一个temp文件,用来储存每天需要更新的文件 如果直接在网站的模板文件夹下面的话不用写/直接写成{dede:includefile="liuxingfushi.html"ismake='no'/}即可每天生成一次那个自由列表的对应文件就可以了 还有dedecms里面提供了一个广告的管理插件,我总觉得也是鸡肋,生成时候肯定也受到多多少少的影响 所以我的广告都是直接自己建立好的放在一个文件夹里面{为了防止以后忘记那个文件是那个页面的广告可以建立一个记事本对应广告文件的说明} 这样下来网站的模板的优化就算是做完了注意的就是:{尽量少用{dede:field}标签处理数据,和一些如果能用自由列表完成的全部用自由列表完成了}/--------------------网站数据库处理优化(有效)------------------------------/可能是因为官方有所保留吧,官方的默认索引不是最优化的,需要大驾手动修改下 如果是有自己独立网站站点的服务器的话建议用NavicatforMySQL的客户端软件连接到MySQLServer数据上进行管理具体操作办法。 转载一个人的网站数据库优化具体的教程个人认为:凡是要排序的字段(比如文档主表的sortrank、senddate、pubdate、click、goodpost、badpost)和查询条件的字段(比如:typeid,ismake)以及文档ID都要建立索引,如果有一个没有建立,将严重影响MySQL运行效率,导致生成HTML时速度慢。 当系统启用了审核机制以后,标识文档审核属性的字段ismake必须建立索引。 注意:click这个字段,记录文档点击量,此字段值更新频繁,建立索引后对系统维护索引带来一定的负荷,我已经试验了不只是慢,很慢,所以大驾不要给这个加索引,大驾自己权衡。 有人说频繁更新的字段建立索引会容易导致网站数据库损坏,这个我还没有遇到过,需要考证。 下面是主表索引建立的截图可能有些人看到那个有个具体的教程是删除typeid的字段这个大驾自己研究看看删除了索引好点还是留着好点,我自己留着这样优化的话,最低生成速度差不多1分钟能上7到8百片文章速度 如果其他人还有什么优化高招可以自己补上大驾一起学习进步 速度慢 , 生成 , 解决方案 |
DEDECMS图片附件二级域名无法显示无效解决方法