专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 帝国cms

刷新生成信息内容页时总是出现502页面的原因和解决方法

发布时间: 文章来源:www.iduyao.cn 采编人员:毒药  
这几天在迁移服务器时,重新生成页面的时候出现502现象,一直想不通原因,而且服务器也提示负载状态100%,但是内存和cpu却都没有跑满。
首选排除了服务器配置的问题,php的设置也进行了修改线程数和负载性能的调整都没用。
最终问题锁定在cms上面,系统不应该有问题,那么在数据库和网站标签模板上面的设置有问题的概率最大。
最终检查出问题是:标签太多太复杂,最终删除了“随机调用rand()”这个标签。问题完美解决。

分析:
网站数据10W+,帝国cms在大数据量下需要优化设置。

影响速度主要有以下几种原因:
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');?>
<!--#include file="/userpage.html"-->

上面例子是以自定义页面生成到根目录为例,你也可以单独建个自定义页面存放目录,比如:/incpage/ 目录那模板include就是用:
<?php include(ECMS_PATH.'/incpage/userpage.html');?>
<!--#include file="/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是变长,存多少就是多大小。

三、启用系统底层优化的优化方案功能:
后台 >> 系统 >> 优化方案 >> 管理优化方案

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
   2531阅读

帝国CMS对大数据情况建议:
数据表结构最好的优化是将所有的自定义字段都存放到副表;主表只存放标题字段;
总体的数据表数据分配均匀,主表下的每个副表存放建议100万数据以内;
内容页减少标签调用或采用JS调用或者采用.shtml包含最新内容页面的方式;
栏目列表设置最大显示数量;
过期信息或不再调用的信息进行归档;
减少使用搜索,搜索是最耗资源的功能;
自行修改文件去除标签和列表的置顶排序(置顶功能下版会默认删除),对性能更高要求的可只采用id排序;
优化运行环境,特别是MYSQL数据库优化;
服务器配置最好2GB以上内存、采用更快的CPU以及硬盘转速缓存更高IO更快。

毒药   2021-06-23 00:26:29
1
登录 后发表评论

热门分类:

Web开发 | Web前端 | HTML/CSS | php | ASP | JavaScript | jQuery | HTML5 | vbScript | Ajax | 网页设计 | 跨浏览器开发 | 高性能WEB开发 | Web Service | XML/SOAP | CGI | 数据库 | SQL | MySQL | NoSQL | Oracle技术 | Oracle管理 | Oracle开发 | Oracle面试 | Oracle Exception | Sql Server | Informix | Sybase | DB2 | Access | VFP | 数据仓库 | 高性能数据库开发 | 其他数据库 | 移动开发 | Android | Iphone | Windows Mobile | Symbian | BlackBerry | QT开发 | Brew | MeeGo | 移动平台 | 电信IT应用开发 | 移动应用 | Java Web开发 | J2EE | J2SE | J2ME | Java面试 | Java相关 | Eclipse | Java Exception | 企业开发 | 企业信息化 | 行业应用 | GIS | SAP | Tivoli | Lotus | Exchange | SharePoint | Dynamics CRM | K2 BPM | 报表 | 嵌入开发 | WinCE | 硬件开发 | 单片机 | 汇编语言 | 驱动开发 | Wireless | VxWorks | 应用服务器 | Apache | IIS | JBoss | WebSphere | Weblogic | ColdFusion | 研发管理 | 项目管理 | 开发过程 | 开发方法 | 软件设计 | 设计模式 | 软件架构设计 | 敏捷开发 | 微创软件开发 | CVS/SVN | VSTS | PowerDesigner | Rational | 软件测试 | C# | ASP.NET | WinForm | WCF | CLR | WPF | XNA | Visual Studio | WinRT Metro | .NET Framework | VB Dotnet | VC | .NET分析设计 | .NET组件控件 | J# | Delphi | .NET报表 | LINQ | .NET新技术 | .NET面试 | .NET相关 | DotNet Exception | Linux/Unix | Solaris | AIX | 多媒体/流媒体开发 | 多媒体设计 | 交互式开发 | Flash | 图形/图像 | 图像工具使用 | Flex | AutoCAD | Silverlight | C++ | C语言 | C++ Builder | 网络通信 | PB | Ruby/Rails | Perl/Python | Erlang | Go | Swift | Verilog | 编程 | 其他开发语言 | Open API | 信息/网络安全 | IBM云计算 | Paypal | VOIP | Google技术 | 人工智能