文档详情

Linux(centos)+Varnish+nginx+php(FastCGI)+MYSQL5+MenCache+MenCachedb构建大流量服务器集群.docx

发布:2017-06-19约2.49万字共20页下载文档
文本预览下载声明
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 一、) 安装Nginx 1.) 安装 ?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 ..
显示全部
相似文档