27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]
E-mail:mzze@163.com
Q Q:32362389
W X:xiaomi168527
27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]
大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]
E-mail:97157726@qq.com
Q Q:97157726
你使用帝国CMS当网站数据量过大或者用了某些标签后发现生成速度异常的慢,甚至有时候会超时报错Internal Server Error HTTP500错误。
那么出现这类问题该如何解决呢?
首先:帝国cms报Internal Server Error HTTP500错误是比较好解决的,两步解决
1.在后台基本属性里面-设置后台PHP超时时间提高点
2.在参数设置-分组生成-信息生成魅族和更新相关链接每组 由默认的100往下调整即可
1、服务器配置及带宽
2、运行环境
3、模板:标签数量及复杂度
4、数据表与字段配置不合理
其中1和2的优化与服务器本身相关的,提高带宽服务器可以解决些许问题,但是更多时候我们不想做这方面的投入,所以下面我们主要介绍帝国CMS相关的:关于3和4的优化说明。
尽量分表、减少主表字段、启用优化方案、模板优化。其中最主要是模板优化,比如:你模板加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是变长,存多少就是多大小。
本站内容均为小米原创,转载请注明出处:小米技术社区>> 帝国cms后台数据表更新速度慢或Internal Server Error 500报错的解决方法