你使用帝国CMS当网站数据量过大或者用了某些标签后发现生成速度异常的慢,甚至有时候会超时报错Internal Server Error HTTP500错误。

那么出现这类问题该如何解决呢?

首先:帝国cms报Internal Server Error HTTP500错误是比较好解决的,两步解决

1.在后台基本属性里面-设置后台PHP超时时间提高点

2.在参数设置-分组生成-信息生成魅族和更新相关链接每组 由默认的100往下调整即可

对于帝国cms生成数据速度慢需要具体分析
其实影响帝国CMS数据生成速度有4个因素
1、服务器配置及带宽

2、运行环境

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

4、数据表与字段配置不合理

其中1和2的优化与服务器本身相关的,提高带宽服务器可以解决些许问题,但是更多时候我们不想做这方面的投入,所以下面我们主要介绍帝国CMS相关的:关于3和4的优化说明。

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

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

如果必须要使用rand推荐使用下面比较高效的调用方法
 

<?php
$randnum=10;        //随机数量
$randids='';
$randdh='';
for($i=1;$i<=$randnum;$i++)

{
        $randids.=$randdh.rand(1,100000);        //1为最小ID,100000为最大ID

        $randdh=',';
}
?>
[e:loop={栏目ID,显示条数,操作类型,只显示有标题图片,"id in ($randids)"}]

模板代码内容
[/e:loop]

二、模板优化原则: 

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

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

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

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

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

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

1、数据表优化 

栏目尽量独立数据主表。

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

2、字段优化: 

尽量减少主表字段。

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

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

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

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

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

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。