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

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

 

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

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

image.png

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

image.png

对于帝国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是变长,存多少就是多大小。

来源:如果上文看不懂,请点击查看本图片:

声明:本站所有内容/本文内容/及图片/由互联网用户投稿自发贡献,该文观点仅代表其作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭/侵权/违法违规的内容, 请发送邮件至 123456@qq.com 举报,一经查实,本站将立刻删除。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。