位置: IT常识 - 正文

织梦DedeCMS网站提速优化方案(织梦官方网站)

编辑:rootadmin

推荐整理分享织梦DedeCMS网站提速优化方案(织梦官方网站),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:织梦官网倒闭了吗,织梦官网,织梦官网倒闭了吗,织梦官方网站,织梦dedecms网站无法访问,织梦cms官网,织梦dedecms网站无法访问,织梦cms官网,内容如对您有帮助,希望把文章链接给更多的朋友!

使用织梦建站时候发现,当数据量达到一定级别的时候,会出现整个系统异常的缓慢。有一个朋友有大概40万条的数据的样子。网站就变得非常缓慢,生成静态页面时更是吃力的不行,让你等个够。织梦58织梦模板网分享以下方法解决这个问题。

方案一:数据分表存储,不要把所有数据存于一个表

早期的织梦所有数据都是存储于一个表,并没有独立addonarticle这样的附件表。从大概V5.0版本开始,出现了分表存储。所以,可以参考官方的整个升级变化,可以把网站的内容都分表处理,如果数据量非常大的话,推荐一个栏目一个表。如果数据量不是很大,可以一个顶级栏目一个表。(大概的一个量,在100万级别的话,推荐一个顶级栏目一个表,子栏目不多的情况下,如果在100万-500万级别,推荐一个栏目一个表,如果是500万往上走,换系统吧,织梦已经满足不了你了。。)

方案二:影响html生成速度的第一要素:arclist,优化arclist标签

其实在织梦v5.0的时候,织梦官方做了缓存机制,极大了优化了。但是从数据监控来看,影响静态化生成的第一要素,当属arclist标签。很多站长喜欢用arclist标签来调用最新文章、热门文章、推荐和头条等,同时arclist标签每次都带着一大堆条件去主表中查询,可能还会关联附加表,对一次性生成大量文章来说,只是重复使用arclist标签对数据库重复查询罢了,自然会花去大量时间。

优化方法①、DedeCMS新的版本中,生成HTML时arclist标签会直接调用缓存数据,省去arclist标签重复查询数据库的时间,顿时让上述工作变得轻松起来,生成速度得到提升也是必然的。你只用在系统参数->性能选项中,找到arclist标签调用缓存(cfg_index_cache)(0不启用,大于0值为多少秒),根据自身实际需求调整缓存调用时间。

优化方法②、我们可以通过freelist(自由列表)功能事先生成最新、热门、推荐、头条等文章列表页面,然后用include标签直接引入到模板里,标签格式为:{dede:include file=’文章列表页面文件名称’ismake=’no’/}。

织梦DedeCMS网站提速优化方案(织梦官方网站)

另外,系统参数-核心设置里默认的关键字替换功能(cfg_keyword_replace)是开启的,如果文章是采集过来的,还是关闭的好,有很多关键字都毫无意义,甚至会有乱码导致生成出错,关掉此功能对提高系统性能是有一定帮助的。

方案三:优化织梦数据表索引

在Mysql中,索引无疑是最有效的加快查询的工具了,一个合理的索引组合会极大地提升你的查询效率和系统性能。言归正传,你可以通过phpmyadmin或是一个叫Navicat for MySQL的软件(推荐)来管理你的数据库。

分析DEDECMS数据表信息,不难发现,所有的文章数据是存储在dede_archives和dede_arctiny,以及对应的dede_addonarticle附加表中的。生成HTML时,sql查询主要围绕这三张表来的。个人认为,凡是要排序的字段和查询条件的字段及文档ID都要建立索引,如果一个没有建立,将会严重影响MySQL的查询效率,最终导致生成速度变慢。DEDECMS数据表索引建立方法如下:

a)dede_archives,是文章的主表,存储文章标题、关键字、描述、发布时间等信息,10万数据的表大小可能在30MB左右,也是我们优化的重点。你需要建立的索引字段有,id、channel、pubdate、sortrank、ismake、typeid、mainindex、lastpost;其中,像系统默认的mainindex和lastpost这两个组合索引,个人认为存在意义不大,可以删除,自己掂量。需要注意的是,click字段,是文档的点击数,此字段更新频率,建立索引后会对系统维护带来一定压力,另外也有人说频繁更新的建立索引会容易导致数据库损坏,也无从查证。个人建议click字段保留,不建立索引。

b)dede_arctiny,这个表比较小,10万数据的表大小不到5MB,建议不建立索引,可以将自带的删除掉,或者只保留sortrank索引。

c)dede_addonarticle,是文章附加表,主要是用来存储文章内容的,不作索引考虑。

方案四:搭建胜过Apache十倍的高并发Web服务器Nginx + PHP(FastCGI)

Web服务器的重要性不需多言,对提升网站性能有着直接影响。

在PHP开发中,最常用的环境莫过于在LAMP:Linux+apache+mysql+php了,在windows下有WAMP:Windows+apache/iis+mysql+php,我的WEB站点也是在这种环境下开发的。Nginx + PHP(FastCGI)无疑是你最好的选择,在Windows和Linux下都可以安装,只是Windows下的Nginx表现要远远逊色于Linux。

免责

本文链接地址:https://www.jiuchutong.com/zhishi/310282.html 转载请保留说明!

上一篇:dedecms SQL注入漏洞(sql注入漏洞不会出现在哪个位置)

下一篇:帝国cms数据库如何批量替换字段值(帝国cms数据库如何使用)

  • 以前年度损益调整在借方是什么意思
  • 印花税申报怎么采集
  • 免交附加税政策
  • 外贸企业出口退税账务处理
  • 非金融企业和金融企业
  • 结转损益类账户余额
  • 手工帐怎么登记
  • 计提坏账的递延税收
  • 产品置换广告费
  • 维护费可以留到明年抵扣吗?
  • 个人定期存款利率怎么算
  • 增值税暂估
  • 企业年薪扣税政策
  • 高新企业财务做账要求
  • 房地产企业税负率
  • 小微企业免税销售额一栏怎么填
  • 收到退回所得税怎么做帐
  • mac 磁盘未能分区
  • 银行初级证书全称
  • 又十个超级有用的PHP代码片段
  • 2021发票勾选认证
  • 长期借款汇兑收益怎么算
  • 劳务派遣企业简易征收管理办法
  • 已收到材料至月末仍未收到发票账单
  • 账户维护费计入什么会计科目
  • 收付控制状态不正常
  • 前端使用vue
  • 开源原则
  • wordpress整站备份
  • hashmap 面试
  • 土增税预征计征依据
  • css中字符间距怎么设置
  • php decbin
  • 公司账户收款退回怎么查
  • 进项税额漏报处理办法
  • 公司活动赠送小礼品
  • 开票资料需要哪些东西
  • PostgreSql新手必学入门命令小结
  • 民办非企业单位是私立还是公立
  • 车辆保险费如何缴纳印花税的
  • 未分配利润与利润表的勾稽关系
  • 从厂家直接拿货需要什么条件
  • 收政府的慰问金合法吗
  • 收到银行手续费已做后期收到发票怎么做
  • 项目支付预缴税额怎么算
  • 损益类科目如何记忆
  • 小规模出口免税是什么意思
  • 电子承兑汇票的承兑人是谁
  • 为什么自创商誉不能确认
  • 企业向个人借款利息如何缴纳增值税
  • 发票冲红给对方单位说明怎么写
  • 前一年的未分配利润计算
  • 工业会计科目有哪些
  • 建账的大体流程是什么
  • 优化sql语句10种方法
  • innodb_sys_tables
  • ubuntu功能
  • 安卓设备连接苹果设备
  • windows7可以打开多个窗口
  • windows7开始菜单设置在哪里
  • windows10累积更新很慢
  • ssh密钥根据什么生成
  • linux 如何查看端口
  • Win7系统打开文件夹没有自动排列选项
  • win7电脑老是自动重启是什么原因
  • 360安全卫士检测出来高危漏洞需要修复吗
  • unity描边shader
  • node.js实战
  • android游戏开发 教程
  • Setver、Share、Subst命令的使用方法
  • 浏览器兼容的方法
  • javascript正则匹配两个点
  • AnalogClock
  • Node.js+Express+MySql实现用户登录注册功能
  • dom基础知识
  • 北京社保外埠城镇职工和外埠农村劳动力啥区别
  • 如何在税务系统缴纳医保
  • 河北电子税务局移动端
  • 网上发票分配
  • 求资金占用利息的公式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设