我的网站

帝国CMS大数据量下优化方案及代码

罗哥 帝国教程 2021-05-12 08:47:17 31 0

影响速度主要有以下几种原因:

1、服务器配置及带宽

2、运行环境

3、模板:标签数量及复杂度

4、数据表与字段配置不合理 其中1和2的优化与服务器本身相关的,所以下面我们主要介绍帝国CMS相关的:关于3和4的优化说明。

帝国CMS大数据量下优化介绍:

尽量分表、减少主表字段、启用优化方案、模板优化。其中最主要是模板优化,比如:你模板加rand()随机之类调用,数据超1万马上慢。【不怕蚂蚁一样的数据,就怕乌龟一样的模板】

一、模板的优化: 

模板优化原则: 

模板优化原则是标签越少越好,如果确实标签要很多,可以把调用标签放到自定义页面来生成调用内容,模板里include自定义页面文件,此方法最大优化可使模板零标签,效率最高。 

include自定义页面方法:(自定义页面在后台>“栏目”>“自定义页面”里增加) 

include 自定义页面有两种方法:

第一种:页面生成.html文件情况下,模板用<?php include(ECMS_PATH.'userpage.html');?>调用文件。

第二种:页面生成.shtml文件,用<!--#include file="/userpage.html"-->调用文件。 

技巧说明: 

1、自定义页面存放目录说明: 

<?php include(ECMS_PATH.'userpage.html');?>与<!--#includefile="/userpage.html"--> 

上面例子是以自定义页面生成到根目录为例,你也可以单独建个自定义页面存放目录,比如:/incpage/ 目录那模板include就是用:

<?php include(ECMS_PATH.'/incpage/userpage.html');?>与<!--#includefile="/incpage/userpage.html"--> 

2、自定义页面可以设置定义生成,以让文件内容实时更新: 

在后台>“系统”>“计划任务”>“管理刷新任务”里增加定时刷新自定义页面。 

3、如果是不同栏目不同自定义页面如何引用? 

(1)、增加自定义页面按栏目ID命名,比如:/incpage/userpage1.html (其中1为栏目ID)

(2)、模板中include文件用:

<?php include(ECMS_PATH.'/incpage/userpage'.$GLOBALS[navclassid].'.html');?>

<!--#include file="/incpage/userpage<?=$GLOBALS[navclassid]?>.html"--> 

二、数据表与字段配置优化:

1、数据表优化: 

栏目尽量独立数据主表。

副表达到一定大小就对副表进行分表。 

2、字段优化: 

尽量减少主表字段。

对于字段内容的字数非常多,如小说、论文等,建议用存文本。

数据表自定义字段最好不要太多。 

3、减少信息数据表大小方法: 

如果你的mysql数据库容量或服务器内存有限,可以用以下方法来减少信息数据表大小:

修改title字段把字段类型从char定长格式改为varchar变长格式即可。char是定长,不论字段内容多少,都是固定大小;varchar是变长,存多少就是多大小。 

三、启用系统底层优化的优化方案功能: 

帝国CMS优化方案使用可以点击--帝国CMS系统底层优化的优化方案功能介绍。