30万条2GB数据网站平台生成HTML网页每分钟超过1000张

5 篇文章 0 订阅
1 篇文章 0 订阅

使用DEDECMS一年多时间,看了论坛上很多站长在抱怨DEDECMS系统生成HTML速度慢,其实不然,只要恰当对服务器平台和数据库进行优化,生成速度会有质得提升。

下面我提供一组数据,大家对比一下你网站的数据量和生成速度,能不能有提升的空间。可能有部分站长优化得比我好得多,我只在这里献丑了!

并且提供优化的方法,可能这些方法是官方为商业客户服务的,大家有能力的话可以自己试着做一下。

本人负责建设的网站现有780-1000的并发连接(实时查看网址:http://www.tzsy.cn/status)网站数据库有30多万条,内容大概有六个模型,六个内容表数据量比较大,全部合起来有3GB,在给其中一个有5万多条的栏目生成网页时每分钟超过1000张的速度。


大家分析一下上面三张图的数据,DEDECMS的潜力还是可以挖掘的。

硬件的基本情况,不算特别好,IBM服务器:CPU 四核至强,内存2GB,数据库安装在146GB的SAS硬盘上,站点文件存放在500GB的SATA硬盘中。

现在我简单描述一下优化措施。

一、安装 CentOS 5.2,装最基本的组织,MySQL,PHP,APACHE都不要安装,以后自己下载源码编译安装。
安装完成后运行setup配置系统服务命令,设置以下仅列出需要启动的服务,未列出的服务一律关闭:
crond
irqbalance 仅当服务器CPU为S.M.P架构或支持双核心、HT技术时,才需开启,否则关闭。
microcode_ctl
network
iptables
vsftpd
sshd
syslog
yum-updatesd

二、搭建胜过Apache十倍的高并发Web服务器 Nginx + PHP(FastCGI)
具体配置不再描述,大家参考张宴的文章 http://blog.s135.com/nginx_php_v5/
提供我的配置截图

三、安装编译 MYSQL数据时编译参数设置注意三点
1. -static 13%
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
静态链接提高13%性能

2. Unix Socket 7.5%
--with-unix-socket-path=/tmp/mysql.sock
使用unix套接字链接提高7.5%性能,所以在windows下mysql性能肯定不如unix下面

3. --enable-assembler
允许使用汇编模式(优化性能)

四、优化DEDECMS数据表索引。官方的默认索引不是最优化的,可能DEDE官方有所保留。

大家下载一个叫 Navicat for MySQL 的客户端软件连接到MySQL Server数据上进行管理操作。

个人认为:凡是要排序的字段(比如文档主表的 sortrank、senddate、pubdate、click、goodpost、badpost)和查询条件的字段(比如:typeid,ismake)以及文档ID都要建立索引,如果有一个没有建立,将严重影响MySQL运行效率,导致生成HTML时速度慢。

当系统启用了审核机制以后,标识文档审核属性的字段ismake必须建立索引。

注意:click这个字段,记录文档点击量,此字段值更新频繁,建立索引后对系统维护索引带来一定的负荷,大家自己权衡。有人说频繁更新的字段建立索引会容易导致数据库损坏,这个我还没有遇到过,需要考证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Navicat Premium Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到 MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server 数据库,让管理不同类型的数据库更加方便。Navicat Premium 结合了其他 Navicat 成员的功能。有了不同数据库类型的连接能力,Navicat Premium 支持在 MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server 之间传输数据。它支持大部份 MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server 的功能。 Navicat Premium 使你能简单并快速地在各种数据库系统间传输数据,或传输一份指定 SQL 格式及编码的纯文本文件。这可以简化从一台服务器迁移数据到另一台服务器的类型的进程。不同数据库的批处理作业也可以计划并在指定的时间运行。 Navicat for MySQL Navicat for MySQL 是一套专为 MySQL 设计的高性能数据库管理及开发工具。它可以用于任何版本 3.21 或以上的 MySQL 数据库服务器,并支持大部份 MySQL 最新版本的功能,包括触发器、存储过程、函数、事件、视图、管理用户等。 Navicat for Oracle Navicat for Oracle 是一套专为 Oracle 设计的强大数据库管理工具。它可以用于任何版本 8i 或以上的 Oracle 数据库服务器,并支持大部份 Oracle 最新版本的功能,包括目录、表空间、同义词、实体化视图、触发器、序列、类型等。 Navicat for PostgreSQL Navicat for PostgreSQL 是一套专为 PostgreSQL 设计的强大数据库管理及开发工具。它可以用于任何版本 7.5 或以上的 PostgreSQL 数据库服务器,并支持大部份 PostgreSQL 最新版本的功能,包括触发器、函数、管理用户等。 Navicat for SQLite Navicat for SQLite 是一套专为 SQLite 设计的强大数据库管理及开发工具。它可以用于任何版本 2 或 3 的 SQLite 数据库,并支持大部份 SQLite 的功能,包括触发器、索引、视图等。 Navicat for SQL Server Navicat for SQL Server 是一套专为 SQL Server 设计的高性能数据库开发及管理工具。它可以用于 SQL Server 2000、2005、2008R2 及 SQL Azure,并支持大部份 SQL Server 的功能,包括触发器、索引、视图等。 提示:如果你需要管理多过一种服务器,那么你应该选择 Navicat Premium。否则,你可以根据你的服务器类型选择 Navicat for MySQLNavicat for Oracle、Navicat for PostgreSQL、Navicat for SQLite 或 Navicat for SQL Server。 Navicat 功能 Navicat 的功能足以符合专业开发人员的所有需求,但是对数据库服务器的新手来说又相当容易学习。有了极完备的图形用户介面 (GUI),Navicat 让你可以简便地以安全且简单的方法创建、组织、访问和共享信息。 Navicat 适用于三种平台 - Microsoft Windows、Mac OS X 及 Linux。它可以让用户连接到任何本机或远程服务器、提供一些实用的数据库工具如数据模型、数据传输、数据同步、结构同步、导入、导出、备份、还原、报表创建工具及计划以協助管理数据。详情请参阅功能列表或浏览我们的网站:http://www.navicat.com/cn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值