Skip to content


nginx系列(2):apache与nginx+php cgi性能比较

听说nginx性能是apache的10倍,可同时处理并发3W请求。只是听说而已自己没有证明过,今天 没事就用webbench测试一下看看到底有多大差距呢!

由于没有专业的环境,只能用我这个快要淘汰的本本上试一试了。nginx的性能如果可以并发3w不挂的话,我的机器早就升天了。我想先测试并发2000看看效果。

1.先拿apache开刀:
用apache的默认配置没有进行修改.真是受不了,我的pc基本上处于假死状态,可能已死呵呵。不过我还坚持实验了两组:
第一组:

$ webbench -t 20 -c 2000 http://home.ucenter:8080/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://home.ucenter:8080/test.php
2000 clients, running 20 sec.

Speed=62814 pages/min, 294224 bytes/sec.
Requests: 20938 susceed, 0 failed.

难怪假死我的是p4 1.8的cpu,load 都到了12了,真是难为我的机器了
apache_1.png
第二组:

$ webbench -t 20 -c 2000 http://home.ucenter:8080/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://home.ucenter:8080/test.php
2000 clients, running 20 sec.

Speed=257676 pages/min, 1204112 bytes/sec.
Requests: 85892 susceed, 0 failed.

我的天啊,load到了46,这是什么概念。不知道路过的兄台最高见过load到多少?
apache_2.png
2.再来看看nginx的性能:

我启动两个 nginx worker process,5个php cgi
不过结果也出乎意料,我一口气做了三组.
第一组:

$ webbench -t 20 -c 2000 http://home.ucenter/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://home.ucenter/test.php
2000 clients, running 20 sec.

Speed=36714 pages/min, 185106 bytes/sec.
Requests: 12238 susceed, 0 failed.

呵呵,load 才1.68,看来机器工作没什么太大问题,用浏览器访问也还可以哈。server被证明没死
nginx_1.png
第二组:

$ webbench -t 20 -c 2000 http://home.ucenter/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://home.ucenter/test.php
2000 clients, running 20 sec.

Speed=28302 pages/min, 144292 bytes/sec.
Requests: 9434 susceed, 0 failed.

到2以上了哈,不过还行,第二次没比第一次差多少。
nginx_2.png
第三组:
再给它加点压怎么样?

$ webbench -t 20 -c 5000 http://home.ucenter/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://home.ucenter/test.php
5000 clients, running 20 sec.

Speed=88719 pages/min, 449529 bytes/sec.
Requests: 29573 susceed, 0 failed.

哈哈,调整到了5000次并发比apache负载还要小很多,真是神了。 不过server的访问有时也失灵了。
nginx_3.png
3.总结:
可以看出单从server来说nginx真的会比apache快不少,但有能快多少我想用上面的简单实验是没法确切估计的。不过在现实的生产环境中我想不会有这么大的差距,毕竟当前web应用中瓶颈一般会在于database的存取。如果要利用好nginx还要做不少的数据库优化工作,比如加上 memcache等等.

Posted in apache, linux, nginx, 技巧, 技术.

Tagged with , , , , .


4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. comdeng says

    我也技痒了!

  2. 果沟 says

    小伙说的太淫秽了

  3. 无喱头 says

    果然够淫秽的…

Continuing the Discussion

  1. php介绍 | 自留地 linked to this post on 2011年10月12日

    [...] http://guogoul.com/2008/07/08/nginx_2/ [...]



Some HTML is OK

or, reply to this post via trackback.