十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

三大WEB服务器对比分析(apache ,lighttpd,nginx)

上一篇 / 下一篇  2011-06-09 21:40:44 / 个人分类:nginx

一.软件介绍(apache  lighttpd  nginx)51Testing软件测试网^1kI |\

1. lighttpd

%x#r"Vaq?U0

Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。51Testing软件测试网+x$B"S/s"~IV

Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。51Testing软件测试网z7u y Z/^o:bS

Fastcgi的优点在于:51Testing软件测试网 b_HQ `B,b/Uy3b+^

·         从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑.51Testing软件测试网8U,]:W+a!U%b{

·         从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮,51Testing软件测试网 o W.Yg3Dm

·         从性能上看, fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与(注1)

O+S:U7sA0

·         从扩展性上讲, fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python...)51Testing软件测试网({:{%F,|Sz:_7D;Jm

2.apache

-DB&PiOM0

apache是世界排名第一的web服务器, 根据netcraft(www.netsraft.co.uk)所作的调查,世界上百分之五十以上的web服务器在使用apache.51Testing软件测试网n|DQ!~

1995年4月, 最早的apache(0.6.2版)由apache group公布发行. apache group 是一个完全通过internet进行运作的非盈利机构, 由它来决定apache web服务器的标准发行版中应该包含哪些内容. 准许任何人修改隐错, 提供新的特征和将它移植到新的平台上, 以及其它工作. 当新的代码被提交给apache group时, 该团体审核它的具体内容, 进行测试, 如果认为满意, 该代码就会被集成到apache的主要发行版中.51Testing软件测试网!J/e&m i:vUeM&[

apache 的特性:

'G {WQ;WF"D`[.[0

1) 几乎可以运行在所有的计算机平台上.

R&JP%s*?#nQiK"X'O g0

2) 支持最新的http/1.1协议51Testing软件测试网Z0W%j.qL8VI

3) 简单而且强有力的基于文件的配置(httpd.conf).

1O{"Tp1k#i&G0

4) 支持通用网关接口(cgi)51Testing软件测试网WP5p2C+z+Fj

5) 支持虚拟主机.

8C I0NM:E6G@0

6) 支持http认证.

a&T/q _x&]0

7) 集成perl.51Testing软件测试网Mwf#Bo]

8) 集成的代理服务器

._t3H lhx0

9) 可以通过web浏览器监视服务器的状态, 可以自定义日志.51Testing软件测试网Jm0e7{ ?}M

10) 支持服务器端包含命令(ssi).

#xxkkY0

11) 支持安全socket层(ssl).

v)o.e(}"^*\K~;I qi0

12) 具有用户会话过程的跟踪能力.51Testing软件测试网,Yh*[?r)iN,P

13) 支持fastcgi51Testing软件测试网v}Q5~ ^H

14) 支持java servlets

1v9[%\|p,{P0

3.nginx51Testing软件测试网_Lui%M9w

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.51Testing软件测试网)c;B&iN iI

Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。其拥有匹配 Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpd的mod_proxy也有一些问题并且很久没有更新。但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用FastCGI方式来执行PHP程序。

w o:bu n4EP0

nginx做为HTTP服务器,有以下几项基本特性:

$~-uzaa!{0XF-DO0

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.51Testing软件测试网&u [?Q@({7p{.] _

无缓存的反向代理加速,简单的负载均衡和容错.

h(E%?(Bq Ln~l/H*D0

FastCGI,简单的负载均衡和容错.51Testing软件测试网Vs,X"G ^$a`|

模块化的结构。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。

`zRHGM t0

Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。51Testing软件测试网(B C C5tn k

Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对nginx来说基本上是毫无用处的。就稳定性而言,nginx比lighthttpd更胜一筹。51Testing软件测试网NUoG"og

Nginx支持热部署。它的启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行进行升级。51Testing软件测试网$Qzj3i2Q,G"z9S f

二.3种WEB服务器的比较:

,Yv8D-X']:G'H0

server51Testing软件测试网 V#i~3[9GI+^9w

Apache

L%@^A v.G`lV6U0

Nginx     

!|xtJNk1X0

Lighttpd

m[2G8P%w/W%j2_/L'Y,]0

Proxy代理51Testing软件测试网4N'i~Ed3r`

非常好

rE]'OW1N){X0

非常好

f7v0N4{0`;]6o7qsk.r0

一般

?+s M2m nu#b0

Rewriter

+y%L{"pI4pH:q0

6h9a:O;B/D'q`:tRi0

非常好51Testing软件测试网B,G^Cw

一般51Testing软件测试网x@.],`y\

Fcgi51Testing软件测试网vaa G,W]7am

不好51Testing软件测试网A/l~i ci,fPA2o

51Testing软件测试网8l!k0e9AAv0W6v

非常好

-|9G$q\y0

热部署51Testing软件测试网!fJRNWI

不支持

}H-x/c6_Ox1C3w!t0

支持51Testing软件测试网,W#rNm j

不支持51Testing软件测试网*i/g2QavKt7@.q@@

系统压力比较

.L!qlr4Qa9fM0

很大51Testing软件测试网AmC2uN RJ \T

很小

8}E#b _'M#Z0

比较小51Testing软件测试网;I,Lx:T|E

稳定性51Testing软件测试网 T3d8SCh+a^3K

51Testing软件测试网 ex@,r.oEj

非常好51Testing软件测试网 ~g P}$Wb^.g

不好51Testing软件测试网q.\1D dw*Db]

安全性

%\U*\e\I3k}l0

51Testing软件测试网z/^7qfnY+I8@

一般51Testing软件测试网{ P$nZcH)].G

一般

w!Wb.`6Fm-\o*r JQ0

技术支持51Testing软件测试网WOm,Sp*l[8E9F1[

非常好51Testing软件测试网(vs*[R[-Jt

很少

#O@v I+z TZB-A iE0

一般

NDrp-z0

静态文件处理

9K\7w%S4PDL"C?u0

一般51Testing软件测试网$Ynf X,b+]7q}

非常好51Testing软件测试网;O3Y2U&[4}

p~m+l|P]0YE:e0

Vhosts虚拟主机51Testing软件测试网:c`*h6`X

支持51Testing软件测试网 Yz~VR(~m$H:L

不支持

X*|3x1g f f:l k\.?'q0

支持51Testing软件测试网UU Tt8t \

反向代理

N(r7Zfc"B0

一般51Testing软件测试网 WS4nb;v$P

非常好51Testing软件测试网 V2U]X0dS

一般51Testing软件测试网*\ a.Ku)l$wq

Session sticky

1A.iE*i;}8?'l0

支持51Testing软件测试网.D+{X$J1A,o0? ~a

不支持51Testing软件测试网!y _(n/_I+U3]]

不支持

:x}(X^I(FA;P QI0

注:在相对比较大的网站,节约下来的服务器成本无疑是客观的。而有些小型网站往往服务器不多,如果采用 Apache 这类传统 Web 服务器,似乎也还能撑过去。但有其很明显的弊端: Apache 在处理流量爆发的时候(比如爬虫或者是 Digg 效应) 很容易过载,这样的情况下采用 Nginx 最为合适。51Testing软件测试网0s%N3f(t3u6T

建议方案:51Testing软件测试网mkr%r9{ w0z

Apache 后台服务器(主要处理php及一些功能请求 如:中文url)

5J7A^ Y:b m@0GI0

Nginx  前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)51Testing软件测试网'uZY3J"LLD o

Lighttpd 图片服务器

B]j,R M-E&oH g0

总体来说,随着nginx功能得完善将使他成为今后web server得主流。

XF,Jz7vE @0

三.性能测试:

1Q7n ~;\7m8h0

将分别测试3种软件在对动态页面和静态页面请求及并发时的响应时间

+G |~6jS3Jxu D0

l        静态页面 搜狐首页51Testing软件测试网f'd Jx5wI

LIGHTTPD

:fK(hY4GAk0

n/-c(ab参数)

x ^b#z)vS0

cpu%

6vw5{2B:V&g0

Mem51Testing软件测试网6Ai~&i[7?

RequestsperSecond

;W](qE+V5bC0

Time taken for tests

3P C ]%J+R0

100000/100

ur,K QQ6q0

6451Testing软件测试网%l8CA-dqW*|f-n5@!F

60

-h4I.m~q`7`l ^0

462.7551Testing软件测试网5YR4|T rE)T

21.651Testing软件测试网W1l~-r$[;M W-bqc

100000/200

9^5|{^J!M v$y _0

67

O%i/`)Uqh6]}0

6051Testing软件测试网+IR+L0keS2k p:sJ

312.0751Testing软件测试网 c4^/o4zU:rI#A tx:N

32.451Testing软件测试网aX0o_;n4S

100000/500

"S [&G s5cl0

83

r}7G~/^i0

60

^kwde*}0

137.2451Testing软件测试网[8Ox2s#W,AP5^

72.8

1WcM&c_5Ji&ZH N0

100000/100051Testing软件测试网W4p R,JuO&`g

出现错误丢包51Testing软件测试网c v_3T)k/N6lJ{

94

f1W(ozt j0

6051Testing软件测试网^xf/o,G U2S

126.6

_OPT*F0

78.951Testing软件测试网4p s }3d-AT _&p,w6B


NGINX

s,N,o:{'K?N0

n/-c(ab参数)

+d K#Wuc.{0

cpu%51Testing软件测试网&S;o yL-nTD&a%b

Mem51Testing软件测试网k_4?)Fp1O@*X

RequestsperSecond51Testing软件测试网6q V/o#Yvh(t6Y

Time taken for tests

7qC5Gj'XV6l E0

100000/10051Testing软件测试网*yA/N1g ~nw Z-Mm-X

34.6

? qC*`:i6R _+@0X0

14051Testing软件测试网3g:sY+ti?0}

943.6651Testing软件测试网4b~GKwW6ln

10.59751Testing软件测试网7K*iqH9U-g Q

100000/200

3K5f7a%e6bQZ0

35.651Testing软件测试网 j-D })S:NZ'F

110

7U&B@*@dpy&_0

924.32

!d2M0c$E9n3kf R0

10.818

!zLBJV_0

100000/500

0if*mR)`r:s0

34.351Testing软件测试网eOh$b)K8h

110

Y*b&UiK!p-V#Rs0

912.68

)l dWq8L~+gx0

10.956

t*Z:p ]6f;B(B0

100000/100051Testing软件测试网N0^JlK*_6[-e`

37

:L@ yq"LF ]0m!Fp0

160

/k@QV,XQh.{Y7c0

832.5951Testing软件测试网l1W2`&Oc*N? ~

12.106

;jo#{PD"o:T0

APACHE

$_Y*\(U9Z-y0

n/-c(ab参数)51Testing软件测试网"M5@ fe6I$S1};@6V i

cpu%51Testing软件测试网.BCxEc

Mem51Testing软件测试网Sx/v bu.K-C bl

RequestsperSecond

'Jn/`d`4xK!N0

Time taken for tests

{ NN LK-Ew&h3sUC0

100000/10051Testing软件测试网/VR[ \ |A yk;M7\

40.6

Gh'r$K^4a:q&fBV/C0

17051Testing软件测试网:}n't#ew-WUS T

690.72

'Yg%hG"o$f0

14.4751Testing软件测试网FKwL l[

100000/20051Testing软件测试网Q8| ~ j4m,z}

41.151Testing软件测试网G} _7q4WP

18051Testing软件测试网PT \d6Bp@5S:Hd0p

685.39

Bz%Ll)_g$p{T0

14.5951Testing软件测试网c7Dq]"W:|

100000/500

}X$|!E+K @/^0

42.351Testing软件测试网u?\0~0r5P4S5B

190

^/o"H k&TJWk0

633.64

o^ E|8dL$M0

15.78

_u6h#onG/o0

100000/1000

BMU!tg0

43.1

q7T;}*Ky!f1ig0

20051Testing软件测试网+F]&V4v#r4N n

547.53

W8m @b(eg-q&{0

18.2651Testing软件测试网2S(~w:JwD0}9M


l        动态页面 内部社区首页

)ON Me Qg0

LIGHTTPD

x!aL9{7gr0

n/-c(ab参数)51Testing软件测试网bO2Q bFcC.K

cpu%51Testing软件测试网Z5E I+\{X u7YW

Mem51Testing软件测试网kk)Jva&g3|,wn*g

RequestsperSecond51Testing软件测试网],v/Pt+UQ"?a|"Q

Time taken for tests51Testing软件测试网E0g;hDi

1000/10051Testing软件测试网!dj ^$b#jE

50

!C/M]@3h j4Z0

200

*K4D!a+b)MQt0

33.5451Testing软件测试网0] U[)X ^-s8nJmO

29.816

S#c$A1e0E-k+em0

1000/200

VjB1K,WLY0

52

|-^7](_ ta0\gJB0

210

%@T*Cr3`0

30.43

m_;@ Kz)B*w0

32.85851Testing软件测试网U vO,rjw

1000/500

|$g-a0` cM0

5451Testing软件测试网GQ~0aYmw

23051Testing软件测试网"C\r;^1o Q _4o

25.7951Testing软件测试网K3D'EZ7h

38.76

G \$F'KF z+U4[V`0

1000/1000

#Q"^ Eia6M-i4P7I0

62

8K2E0kh,[9eE*i0

250

5LA6JI~WRu_0

24.83

QE.Y K/z0

40.28

(I RY%YL n5j'T8w7h0t0

NGINX

p`1d {;J?yM%v8T3V0

n/-c(ab参数)

?#^4ohF:Ne0

cpu%

U'oz5Y@4Q2WX!v0

Mem51Testing软件测试网AdY#B@bxs(}

RequestsperSecond

1sKpe tE0

Time taken for tests

zmr%EN(eCkt0

1000/10051Testing软件测试网(t(Q D:g.J.e.t6U&E

53.8

6iu0i c}#p#Jf0

250

3y9@7vb6jWg_s0

83.1251Testing软件测试网 ll9r;R%@T/o)I6@7I5z

12.305

!uM]` L1AW2Y0

1000/20051Testing软件测试网|(dl)o M

55.851Testing软件测试网fLl.i'TS Zc

25051Testing软件测试网`1w o?Pq

74.05

y/`T @ Zg0

13.504

iN"G?QXRy%J0

1000/500

w-mV/{%W*GQ+o|0

56

Q T%OVfKhx$Z9Q0

260

#b$Q ~N.HECF TV0

58.9951Testing软件测试网*QDX9I2w(rp Z Y M

16.95151Testing软件测试网 o k"R3h:Ft A

1000/100051Testing软件测试网yA,} F!w ga-P

<p style="line-height: 22px; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-le

TAG: nginx Nginx

 

评分:0

我来说两句

Open Toolbar