30万条2GB数据网站平台生成HTML网页每分钟超过1000张
使用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都要建立索引,如果有一个没有建立,
相关文档:
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.StringReader;
import java.util.List;
import com.lowagie.text.Document;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.html.simpleparser.HTMLWorker;
import com.lowagie.te ......
package test;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
/**
* @category 功能1:汉字与16进制的转换<br/>功能2:汉字与Html转义符的转换
* @author 作者:李易烜<br/>邮箱:chinaliyixuan@hotmail.com
* @date 创建时间:Fe ......
1 <html:html>标记
简单的在页面的开始和结尾处产生一个html标记。
2<html:base>
用于在网页的head部分生成一个base标记,作用不仅仅是生成本网页的URL ,更重要的是为该页面的所有其他的链接提供相对的位置。
3 <html:link>
用于生成html中的<a> ......
在Google 、Mozilla 、Apple 等组织的努力下,HTML5 标准已经从草案走向实现。目前几个主流浏览器的最新版本均已或多或少支持HTML5的新功能,即使是过时的浏览器也可以通过Javascript和插件来模拟相应的效果。
在开发RIA(富互联网应用)的时候,是选择占有率、兼容性、开发效率有限的Flash、SilverLight、Gears、JavaFX等 ......