Linux(centos)+Varnish+nginx+php(FastCGI)+MYSQL5+MenCache+MenCachedb构建大流量服务器集群.docx
文本预览下载声明
Linux(centos)+Varnish+nginx+php(FastCGI)+MYSQL5+MenCache+MenCachedb构建大流量服务器集群-linux服务器应用
架构 Varnish+nginx+php(FastCGI)+MYSQL5+MenCache+MenCachedb
说明:???????我在设计系统架构时,进行了大胆的尝试,只用6台Web服务器,达到了可承受4000万PV(页面访问量)的性能:
抛弃了 Apache,因为它能承受的并发连接相对较低; 抛弃了 Squid,因为它在内存利用、访问速度、并发连接、清除缓存等方面不如 Varnish; 抛弃了 PHP4,因为 PHP5 处理面向对象代码的速度要比 PHP4 快,另外,PHP4 已经不再继续开发; 抛弃了 F5 BIG-IP 负载均衡交换机,F5 虽然是个好东西,但由于价格不菲,多个部门多个产品都运行在其之上,流量大、负载高,从而导致性能大打折扣;
利用 Varnish cache 减少了90%的数据库查询,解决了MySQL数据库瓶颈; 利用 Varnish cache 的内存缓存命中加快了网页的访问速度; 利用 Nginx + PHP5(FastCGI) 的胜过Apache 10倍的高并发性能,以最少的服务器数量解决了PHP动态程序访问问题; 利用 Memcached 处理实时数据读写; 利用 HAProxy 做接口服务器健康检查;
经过压力测试,每台Web服务器能够处理3万并发连接数,承受4千万PV完全没问题。
保证4千万PV的并发连接数:V / 86400秒 * 10个派生连接数 * 5秒内响应 * 5倍峰值) / 6台Web服务器 = 19290连接数
实验证明:?????????举个简单的例子,服务器上运行Nginx+PHP,上运行Apache+PHP,你在上安装压力测试工具webbench,以30万并发连接分别请求Nginx和Apache服务器上的一个PHP文件60秒钟。在这期间,你用你的浏览器访问Apache服务器上的PHP文件,会发现要么是“该页无法显示”、要么是等待好几秒钟才能打开,而Nginx服务器的PHP文件,依然没有丝毫影响,访问速度仍然飞快。
webbench -c 300000 -t 60? HYPERLINK /index.php /index.php
webbench -c 300000 -t 60? HYPERLINK /index.php /index.php
?
以下为 Nginx 0.5.33 + PHP 5.2.5 (FastCGI) 服务器在3万并发连接下,开启的10个Nginx进程和250个php-cgi进程时的系统负载情况:
?
?
安装步骤: (系统要求:Linux 2.6+ 内核,本文中的Linux操作系统为AS4.3)
一、获取相关开源程序: 1、下载程序源码包到当前目录: 本文中提到的所有开源软件为截止到2007年9月21日的最新稳定版。我将它们打了两个压缩包。
第一个压缩包:nginx_php_mysql_1.0_1of2.zip: 下载地址:/cgi-bin/fileid.cgi?fileid=2289607
第二个压缩包:nginx_php_mysql_1.0_2of2.zip: 下载地址:/cgi-bin/fileid.cgi?fileid=2289595
2、解压缩:
?unzip nginx_php_mysql_1.0_1of2.zip?unzip nginx_php_mysql_1.0_2of2.zip
一、) 安装Nginx1.) 安装?Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。欢迎访问 Nginx 的中文维基,/NginxChs.
2.)安装Nginx所需的pcre库:
[root@localhost]#tar zxvf pcre-7.2.tar.gz[root@localhost]#cd pcre-7.2/[root@localhost]#./configure[root@localhost]#make make install[root@localhost]#cd ..
显示全部