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

7月 8, 2008 – 12:09 上午

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

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

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

  1. $ webbench -t 20 -c 2000 http://home.ucenter:8080/test.php
  2. Webbench - Simple Web Benchmark 1.5
  3. Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
  4.  
  5. Benchmarking: GET http://home.ucenter:8080/test.php
  6. 2000 clients, running 20 sec.
  7.  
  8. Speed=62814 pages/min, 294224 bytes/sec.
  9. 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等等.

  1. 3 Responses to “nginx系列(2):apache与nginx+php cgi性能比较”

  2. 我也技痒了!

    [回复此评论]

    果沟 reply on 7月 9, 2008:

    小伙说的太淫秽了

    [回复此评论]

    By comdeng on Jul 8, 2008

  3. 果然够淫秽的…

    [回复此评论]

    By 无喱头 on Jul 24, 2008

Post a Comment