小米技术社区
小米技术社区管理员 关于小米

27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]

E-mail:mzze@163.com

Q Q:32362389

W X:xiaomi168527

小米技术社区大牛王飞 关于王飞

27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]

E-mail:wf_live@126.com

Q Q:3940019

微博:王小贱ss

小米技术社区设计小艳 关于小艳

大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]

E-mail:97157726@qq.com

Q Q:97157726

标签云
精品推荐
  • 帝国cms安全性防护-防患于未然

    帝国cms安全性防护-防患于未然

    帝国cms安全防护主要从以下几个方面来1.如果是展示站点,用不到个人空间,删除e/space文件,并在后台关闭会员注册,并开启验证码,提升安全性严重性:不法分子通过注册账号,在e/s……
    913人已经看过了
  • 帝国cms随机调用信息

    帝国cms随机调用信息

    我们知道,帝国cms随机调用标签是[ecmsinfo]1,5,32,0,0,2,0,”,’rand()’[/ecmsinfo]但是这种调用方式在数据量特别大的时候严重影响生成速度,对于中大型网站不建议使用 我们……
    2875人已经看过了
  • 帝国cms分页列表样式

    帝国cms分页列表样式

    <div class="pagelist">[!--show.listpage--]</div>css/*pagelist*/.pagelist{ text-align:center; overflow: hidden; margin-top:60px; clear: both;}.pageli……
    1823人已经看过了
  • 帝国cms灵动标签用法

    帝国cms灵动标签用法

    1、标题+简介示例:[e:loop={2,1,0,0}] <h1><a href="<?=$bqsr[titleurl]?>" target="_blank" title="<?=$bqr[title]?>"> <?=esub($bqr[title],36)?> </a></h1><p><?=esub($b……
    464人已经看过了
  • 帝国常用标签汇总

    帝国常用标签汇总

    帝国CMS内容页模版如何调用当前栏目名称和链接 <a href="<?=sys_ReturnBqClassname($navinfor,9)?>/">[!--class.name--]</a>……
    357人已经看过了
您的位置:首页 > CMS > 帝国CMS

帝国cms后台数据表更新速度慢或Internal Server Error 500报错的解决方法

分类: 帝国CMS78个赞

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


小米技术社区