首页 > 服务器 > Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)

Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)

2010年06月30号
查看评论 发表评论 2,779次浏览

 在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0.8.36 + PHP 5.2.13 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍

  根据我的经验,4GB内存的服务器+Apache(prefork模式)一般只能处理3000个并发连接,因为它们将占用3GB以上的内存,还得为系统预留1GB的内存。我曾经就有两台Apache服务器,因为在配置文件中设置的MaxClients为4000,当Apache并发连接数达到3800时,导致服务器内存和Swap空间用满而崩溃。

  而这台 Nginx 0.8.36 + PHP 5.2.13 (FastCGI) 服务器在3万并发连接下,开启的10个Nginx进程消耗150M内存(15M*10=150M),开启的64个php-cgi进程消耗1280M内存(20M*64=1280M),加上系统自身消耗的内存,总共消耗不到2GB内存。如果服务器内存较小,完全可以只开启25个php-cgi进程,这样php-cgi消耗的总内存数才500M。

  在3万并发连接下,访问Nginx 0.8.36 + PHP 5.2.13 (FastCGI) 服务器的PHP程序,仍然速度飞快。下图为Nginx的状态监控页面,显示的活动连接数为28457(关于Nginx的监控页配置,会在本文接下来所给出的Nginx配置文件中写明):


  下面是用100个并发连接分别去压生产环境中同一负载均衡器VIP下、提供相同服务的两台服务器,一台为Nginx,另一台为Apache,Nginx每秒处理的请求数是Apache的两倍多,Nginx服务器的系统负载、CPU使用率远低于Apache:

  你可以将连接数开到10000~30000,去压Nginx和Apache上的phpinfo.php,这是用浏览器访问Nginx上的phpinfo.php一切正常,而访问Apache服务器的phpinfo.php,则是该页无法显示。4G内存的服务器,即使再优化,Apache也很难在“webbench -c 30000 -t 60 http://xxx.xxx.xxx.xxx/phpinfo.php”的压力情况下正常访问,而调整参数优化后的Nginx可以。

  webbench 下载地址:http://blog.s135.com/post/288/

  注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上。

  测试结果:##### Nginx + PHP #####

引用
[root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.21/phpinfo.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.21/phpinfo.php
100 clients, running 30 sec.

Speed=102450 pages/min, 16490596 bytes/sec.
Requests: 51225 susceed, 0 failed.

top – 14:06:13 up 27 days,  2:25,  2 users,  load average: 14.57, 9.89, 6.51
Tasks: 287 total,   4 running, 283 sleeping,   0 stopped,   0 zombie
Cpu(s): 49.9% us,  6.7% sy,  0.0% ni, 41.4% id,  1.1% wa,  0.1% hi,  0.8% si
Mem:   6230016k total,  2959468k used,  3270548k free,   635992k buffers
Swap:  2031608k total,     3696k used,  2027912k free,  1231444k cached

  测试结果:#####  Apache + PHP #####

引用
[root@localhost webbench-1.5]# webbench -c 100 -t 30 http://192.168.1.27/phpinfo.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.1.27/phpinfo.php
100 clients, running 30 sec.

Speed=42184 pages/min, 31512914 bytes/sec.
Requests: 21092 susceed, 0 failed.

top – 14:06:20 up 27 days,  2:13,  2 users,  load average: 62.15, 26.36, 13.42
Tasks: 318 total,   7 running, 310 sleeping,   0 stopped,   1 zombie
Cpu(s): 80.4% us, 10.6% sy,  0.0% ni,  7.9% id,  0.1% wa,  0.1% hi,  0.9% si
Mem:   6230016k total,  3075948k used,  3154068k free,   379896k buffers
Swap:  2031608k total,    12592k used,  2019016k free,  1117868k cached

页面: 1 2 3 4 5

类别服务器 标签
  1. 不想减肥
    发表于 2010年07月12号 01时39分48秒 | 1楼

    博主文章写的真棒!

  2. 滤波器
    发表于 2010年07月12号 10时55分59秒 | 2楼

    踩踩!呵呵~来看看博主,有时间多交流一下。

  3. 全flash网站制作模板
    发表于 2010年07月12号 17时46分38秒 | 3楼

    路过看到不错有想法http://www.8net8.net/

  4. 免费小游戏
    发表于 2010年07月12号 20时39分57秒 | 4楼

    ★第6游戏网★是中国最好玩的小游戏网站,为你提供各种免费小游戏,成人小游戏,做饭小游戏,电脑小游戏,益智小游戏,格斗小游戏,迷你小游戏,flash小游戏,搞笑小游戏。

  5. 离心机
    发表于 2010年07月12号 20时55分47秒 | 5楼

    这个社会就是这样,优胜劣汰!!

  6. 佛山天佑物流公司
    发表于 2010年07月12号 23时48分25秒 | 6楼

    来看看大家

  7. 淘宝
    发表于 2010年07月12号 23时48分26秒 | 7楼

    博主很有才!看了你写的每篇文章感觉都很不错,我的博客
    [url=http://www.wojiumai.com]淘宝网[/url]。

  8. vivian
    发表于 2010年07月21号 16时12分38秒 | 8楼

    博主的博客不错,经常收看了欢迎来我的网站踩踩:品牌女装加盟店

  9. 22 inch car rims
    发表于 2010年08月18号 02时08分55秒 | 9楼

    wats up man hows it going

评论页数:
1 2 3 4 341
你必需 登陆 才能发表评论.