php处理4000万条数据,php高负载架构 6台服务器抵挡4000万pv

我在设计系统架构时,进行了大胆的尝试,只用6台Web服务器,达到了可承受4000万PV(页面访问量)的性能:

放弃了 Apache,因为它能承受的并发连接相对较低;

放弃了 Squid,因为它在内存利用、访问速度、并发连接、清除缓存等方面不如 Varnish;

抛弃了 PHP4,因为 PHP5 处理面向对象代码的速度要比 PHP4 快,另外,PHP4 已经不再继续开发;

放弃 了 F5 BIG-IP 负载均衡交换机,F5 虽然是个好东西,但由于价格不菲,多个部门多个产品都运行在其之上,流量大、负载高,从而导致性能大打折扣;

VarnishCache 减少了90%的数据库查询,解决了MySQL数据库;

VarnishCache 的内存缓存加快了网页的访问速度;

Nginx + PHP5(FastCGI) 的比Apache 10倍的高并发性能,以最少的服务器数量解决了PHP动态程序访问问题;

Memcached 处理实时数据读写,极大减少数据库访问压力;

ha_prox 作为接口 服务器;

经过压力测试,每台Web服务器能够处理3万并发连接数,承受4千万PV完全没问题。保证4千万PV的并发连接数:(40000000PV / 86400秒 * 10个派生连接数 * 5秒内响应 * 5倍峰   值) / 6台Web服务器 = 19290连接数

实验证明: 举个简单的例子,服务器192.168.0.2上运行Nginx+PHP,192.168.0.3上运行 Apache+PHP,你在192.168.0.4上安装压力测试工具webbench, 以30万并发连接分别请求Nginx和Apache服务器上的一 个PHP文件60秒钟。在这期间,你用你的浏览器访问Apache服务器上的PHP文件,会发现要么是“该页无法显示”、要么是等待好几秒钟才能打开,而 Nginx服务器的PHP文件,依然没有丝毫影响,访问速度仍然飞快。

webbench -c 300000 -t 60 http://192.168.0.2/index.php

webbench -c 300000 -t 60 http://192.168.0.3/index.php

以下为 Nginx 0.5.33 + PHP 5.2.5 (FastCGI) 服务器在3万并发连接下,开启的10个Nginx进程和250个php-cgi进程时的系统负载情况:

linux下网站压力测试工具webbench,webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。

1、webbench适用系统:Linux

2、webbench编译安装:

1

wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz

2

tar zxvf webbench-1.5.tar.gz

3

cd webbench-1.5

4

make && make install

3、简单的使用

webbench -c 500 -t 30 http://127.0.0.1/test.jpg

参数说明:-c表示并发数,-t表示时间(秒)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值