虚位以待(AD)
虚位以待(AD)
首页 > 操作系统 > Windows系列 > Windows下Apache VS Lighttpd VS Nginx(Ngwsx)静态文件对比

Windows下Apache VS Lighttpd VS Nginx(Ngwsx)静态文件对比
类别:Windows系列   作者:码皇   来源:互联网   点击:

操作系统:winxp sp3cpu: i3 内存: 4G具体不多说了,直接上截图:Apache-t 10模式下,rps在14 8x - 15 1x之间。-c 100 -n 1000模式下,rps在15 0x - 15 1x之间。Apache开启Gzip压缩输出,很不幸

操作系统:winxp sp3

cpu: i3 ....

内存: 4G

具体不多说了,直接上截图:

各个WebServer的软件版本号:

Apache 2.2.16.0,使用Zend Server自带的那个Apache2。

Lighttpd 1.4.28,cygwin编译版本。

Nginx 1.0.6,官方发布版本。

Ngwsx,支持iopc模式的分支,https://github.com/zxy050/ngwsx。

今天测试主要针对静态文件的输出,选择将新浪首页的HTML代码另存为txt文件,然后使用ab进行压力测试。

执行AB的在另外一台Ubuntu Server上进行,主要进行两种测试:

ab -t 10 .......

ab -c 100 -n 1000 .......

取三个软件的测试结果做横向对比。

最终结论:

Apache

-t 10模式下,rps在14.8x - 15.1x之间。

-c 100 -n 1000模式下,rps在15.0x - 15.1x之间。

Apache开启Gzip压缩输出,很不幸的,结果还差一些。

-t 10,rps在14.6x - 14.8x之间。

-c 100 -n 1000,rps在14.7x - 14.8x左右。

Nginx官方版本

不知道为什么始终没法让worker_processes > 1,一旦> 1,就无法正常访问,所以只好用1测试,系统进程会存在两个nginx.exe,一个是守护进程,另外一个worker进程,内置启动默认4个线程。默认开启gzip压缩输出。

 

-t 10模式下,rps在15.9x - 16.1x之间。

-c 100 -n 1000模式下,rps在19.7x - 19.9x之间。

是的,高并发模式下,看得出Nginx的工作情况更好些,工作进程CPU主要在%3 - %5之间波动。

Nginx的ngwsx分支

测试途中,引起同事兴趣,建议我下载该版本做对比测试,遂行之。配置处处了Events里面可选iopc,且配置参数有些不同外,其他与nginx别无二致。

这个分支可以使用 worker_processes 4,但是貌似没作用,启动后,只有一个ngwsx.exe进程,默认线程1。

压力测试结果与Nginx官方版本相仿(略低,平均0.1 - 0.05之间,可以忽略不计了)。

但是高并发模式下,CPU占用高达25%,但是他也就是维持在25%,由于当时心急与想测试Lighttpd,没有注意看,他是不是将计算分摊到4个CPU的核心上了。

Lighttpd cygwin编译版本

本来没寄望Lighttpd会超过Nginx,因为很熟悉了,启动后,一个Lighttpd.exe进程,线程数3。

不过还是有些惊喜:

 

-t 10模式下,rps在16.5x - 16.7x之间。

-c 100 -n 1000模式下,rps在19.3x - 19.5x之间。

看得出,在-t压力测试下,lighttpd的表现更好些。

这个测试基本上都使用WebServer的默认配置,也有部分配置进行调优,如Apache的mpm_winnt,默认是150,启动后工作进程线程数是157,然后调整到500,线程数是507,但是对测试完全没有影响,而内存、CPU的使用也不见疯涨。

测试过程中,对另外一台UbuntuServer的试验机进行了等价的压力测试,ApacheServer,版本号没去查,CPU是AMD 速龙2.4G,4核(据说,我没去求证),4G内存。不过测试结果和Windows的Apache结果相近,没有惊喜,也没有失望。不过我清楚一点,Nginx和Lighttpd在Linux Server上,通过对各项参数调优,性能的提高会比ApacheServer要高(这个Apache也是我调整过mpm的MaxClients的),但是是否能高得过在Windows的表现呢?这个虽然是看似明显的问题(根据经验应该是Linux的IO性能要好些),不过还很难说,只有实际测试了才知道。

明天会对三个服务器运行PHP的模型进行测试,当时然是Windows下的。如果时间允许,会在试验机上,静态编译nginx、Lighttpd、PHP,再做对比。

附上截图,不然大家说我空口说白话,截图的内容没什么,就是Windows下集成了可自定义配置的Nginx、Lighttpd、PHP的环境包。

 

最后一张图,万恶的ZendServer,他的小九九,明天再和大家分享

摘自 曾建凯的博客
相关热词搜索: Windows Apache Lighttpd