时间:2019-07-30 10:50:12 作者:johnnyl 浏览量:9
话说nginx在大压力的环境中比apache的体现要好,于是下载了一个来折腾一下。
下载并编译装置,我的编译进程有点特别:
1。去除调试信息,修正$nginx_setup_path/auto/cc/gcc这个文件,将 CFLAGS="$CFLAGS -g" 这一行注释掉。
2。因为仅测验WEB服务器的性能,所以不装置FastCGI。
用NGINX测试HTTP和APACHE的性能差异图1
装置完成之后,将一堆出产环境中静态化了的HTML页面copy 到 nginx 的服务器上,我的 nginx.conf 的装备如下:
NGINX测试HTTP和APACHE的性能差异图2
为了使操作系统不成为瓶颈,调整了一下参数,如下:
用NGINX测试HTTP和APACHE的性能差异图3
我这台是比较老的服务器了,DELL 2850 两颗 Intel(R) Xeon(TM) CPU 2.80GHz,OS认作4个CPU,4GB内存,OS如下:
用NGINX测试HTTP和APACHE的性能差异图4
测验工具是 apache 的 ab ,用来模仿,很多的并发衔接,本来是在另一台虚拟机中模仿客户端,但随着压力的上升,还没压死 nginx 就先将自己压死了 -_- ,最终只能自己压自己了。
测验脚本大概如下:
1 | ab -n 100000 -c >client_number< [-k] http://***********/cms/index.html |
index.html 的大小是:123784 byte
我将测验数据整理到Excel中,猛击这里下载,如下:
用NGINX测试HTTP和APACHE的性能差异图5
nginx 短衔接测验成果(1/20抽样展现)
用NGINX测试HTTP和APACHE的性能差异图6
nginx 长衔接测验成果(1/20抽样展现)
单看数字可能比较枯燥,仍是看图吧:
用NGINX测试HTTP和APACHE的性能差异图6
用NGINX测试HTTP和APACHE的性能差异图7
针对第一组图片,有几个当地需求解析一下的。
“Concurrency Level”并不对应有多少个浏览器或许多少个用户,应该理解为并发衔接数,通常IE拜访一个网页,打开3~10个衔接,正常情况下,10000个“客户端数”能够非常粗略地以为1000~3000个用户吧。