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

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

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

一.软件介绍(apache  lighttpd  nginx)

Wk9Uz`lfG ?0

1. lighttpd51Testing软件测试网C+~I B%oqV Is

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

Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。

7U YZvq0}/T\0

Fastcgi的优点在于:51Testing软件测试网 Z J1B O#ds*r

·         从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑.

Zl q6@qyA0

·         从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮,

7g,j z ~]F3h![0

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

@"@C(B y~Y_0

·         从扩展性上讲, fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python...)

1Y.A+F:pyC$E#o0

2.apache51Testing软件测试网+E5@ A~r{&N^]k

apache是世界排名第一的web服务器, 根据netcraft(www.netsraft.co.uk)所作的调查,世界上百分之五十以上的web服务器在使用apache.

0~(Y y'UH w0r0

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

*RNDg*kba~0

apache 的特性:51Testing软件测试网;g\0y'R y1mO

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

lkl-iU|l7`7B0

2) 支持最新的http/1.1协议

6UO?9kl;}6fyZ0

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

sh hu)T/U$l.Z0

4) 支持通用网关接口(cgi)

2O&P@3Xd b2g)j0

5) 支持虚拟主机.51Testing软件测试网&sLB DY?4^"?z

6) 支持http认证.51Testing软件测试网3d'gBM:a S"Cw

7) 集成perl.

Z)s!P z;K@ BDV\ } Z0

8) 集成的代理服务器

)Ih[0jY|g2\\0

9) 可以通过web浏览器监视服务器的状态, 可以自定义日志.51Testing软件测试网)iVKU}8d `"J

10) 支持服务器端包含命令(ssi).51Testing软件测试网p@5q4?qe,D Y

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

:Ck F+EZ R,Or0

12) 具有用户会话过程的跟踪能力.

2I.A9W4] g0

13) 支持fastcgi51Testing软件测试网1Qg,L HT0m,bF6Q%S

14) 支持java servlets

Q9[5bPb8DX ?0

3.nginx51Testing软件测试网cw,K.N6ELl4x

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

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

nginx做为HTTP服务器,有以下几项基本特性:51Testing软件测试网2N4W`&u{vh3o~\ Y@

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.

[a U7\,XVzQ5B0

无缓存的反向代理加速,简单的负载均衡和容错.51Testing软件测试网 S"\Va9r*A

FastCGI,简单的负载均衡和容错.51Testing软件测试网%a9R.TP|:R

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

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

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

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

二.3种WEB服务器的比较:51Testing软件测试网oj;fjP~-s M


server51Testing软件测试网mw)D S%D]m

Apache51Testing软件测试网&J(C!Z@f

Nginx     

o{;_&Z)S W0

Lighttpd

*z*Ie Sr0ac0

Proxy代理

u6s+q:PjF0

非常好51Testing软件测试网F!q7\"q J

非常好

H])iO#?"HV0

一般

'QA}5SIR6`0

Rewriter

m F,kB0`5D)O8J!G$_0

51Testing软件测试网0vD7XS`&J

非常好

;lX[1RN0

一般

6}ik4TuVGbk0

Fcgi51Testing软件测试网N+u,H ]"d7_:tZ"N

不好51Testing软件测试网 U.S/J-@CS1x

o;j-C?0Q-niC I6s0

非常好51Testing软件测试网 k!R)k`j#k

热部署51Testing软件测试网 iX3a@S s

不支持

?Iiw+QY^0

支持

&b:F$k/[ Eda0

不支持51Testing软件测试网g\k F/b$\}3Qw'^ Y R

系统压力比较51Testing软件测试网 `7eX5o T*p8Z

很大51Testing软件测试网!o7V'|D,SC

很小51Testing软件测试网)?5r E-I\V

比较小

5\/vG J;K6`0

稳定性

S Ho%H s2q%F7y7g0

51Testing软件测试网:@ e1avtQ4i

非常好

p~ d4X*]u [$w-?1h0

不好

k?2IO6^Q_0

安全性51Testing软件测试网 u?$r~3lT0R

51Testing软件测试网j6EN#M4z4R0L

一般51Testing软件测试网yc qGD.[va

一般

@`)DHb9~Hv4P0

技术支持51Testing软件测试网|l!dr.b,]M

非常好51Testing软件测试网 mROL&g/y

很少

7X:P*T`/{0

一般51Testing软件测试网8|]x:@(~2`;bB+]

静态文件处理51Testing软件测试网h:{}s/C6` Do

一般

S/JA;NnFou0

非常好

fCE7h_!cd|,G`8?0

51Testing软件测试网 p@ Z\'|4G(a_4jA

Vhosts虚拟主机51Testing软件测试网vvZ@}V/Y:t

支持51Testing软件测试网 I"]U']2~Q} Q

不支持51Testing软件测试网Y }C,LfT-N

支持51Testing软件测试网;{a:u]IB`8^

反向代理

T't%L/Dl'ae0

一般51Testing软件测试网6}Y$@^:l4G^4x3l

非常好51Testing软件测试网/OjV._N aLV

一般51Testing软件测试网"q#U@6z"`#Mp;^ D

Session sticky

3i3iwN E1dsOO0

支持

/Ha2P6~NUk0

不支持51Testing软件测试网M!aR&BYVh

不支持

"O'CJ!Im0

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

建议方案:

#{ m Y4s N6l*C0

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

G+@wHm @(\qdA0

Nginx  前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求)51Testing软件测试网 E;FY|dh

Lighttpd 图片服务器

NY)r$d'bt6Hz0

总体来说,随着nginx功能得完善将使他成为今后web server得主流。51Testing软件测试网9]ye0g"Z_K}&guF#P

三.性能测试:

l^)KJx,f@ Q0

将分别测试3种软件在对动态页面和静态页面请求及并发时的响应时间51Testing软件测试网:JZ(ni(O

l        静态页面 搜狐首页51Testing软件测试网P!f9hCkC)u4X;Q

LIGHTTPD

2W!j2C7im9^~`0

n/-c(ab参数)51Testing软件测试网*jA0D-|"`Su-R

cpu%51Testing软件测试网#s,b0Btr c-x

Mem

ZlbC[0

RequestsperSecond51Testing软件测试网-Hrc"VW:w

Time taken for tests

M;~"a6zfT&^0

100000/10051Testing软件测试网0xkIXn w xi V

6451Testing软件测试网7T/p;V!`iOk/L"M

60

?#yh'a*{qCR0

462.7551Testing软件测试网+q.W2P gz4FU

21.6

({2y2p U:}"A3i#I%Gf)O0

100000/200

&Ru4ZX0cU0

67

QIUx!Y0

60

d qt2O5l0

312.07

_m;@5j8Y,~7UB*Y0

32.4

)uoJ ~K%N(g8] `0

100000/500

Di8Z R*Ts)CW6A0

8351Testing软件测试网Px-wWxm~"ln1df

60

e|;B}M A0

137.2451Testing软件测试网] RzY&|,H[[

72.851Testing软件测试网%sZ+H{P8XX.Bh

100000/1000

j M R[9o6i0

出现错误丢包51Testing软件测试网5S F+z:s aLnCB,N

94

C+{;BJ{z9i0

60

y8z:P%QW{ ?0

126.651Testing软件测试网S!d-F(K3kaH*XqI"Z

78.9

i `2elZ?0

NGINX51Testing软件测试网*Bd"W_cz8LP


n/-c(ab参数)

a!a L|j#j {OT!`0

cpu%51Testing软件测试网tw6Hk o*f4y+eC2N;ul

Mem

`%js2? a1d0A/R0

RequestsperSecond

(~9l6Uu$@&P{4t~ p0

Time taken for tests

9e x.R}1g"O0

100000/10051Testing软件测试网3k.g3}r8h$Q7m)K

34.6

B o~ X-g+C)m\0~%@W0

14051Testing软件测试网h4G"OXl SI&l

943.6651Testing软件测试网9O^;L;n3m

10.597

){I#n.D k%Z)`!N9oB0

100000/200

!E1K0{:sAL0

35.651Testing软件测试网ZtYz?Q J3U

11051Testing软件测试网 u7u J.[ avU

924.32

.m``y!aT(U6p7s0

10.818

` r)IPk&Y d0

100000/500

ua2x"A9EY0

34.3

8I iQ"^qQ m;` BI"?0

110

x%psu7o V(PE0

912.6851Testing软件测试网8Qn4j\'K#T Fo)P

10.956

_#rs,sU/h(ty6\;e&~0

100000/1000

!C}7H x uW#d0

3751Testing软件测试网AQG,]VH

16051Testing软件测试网C7G/Uni#V/Dx

832.5951Testing软件测试网'jB7P(]yG+X

12.106

r gi4t2z.sN W0

APACHE

?9La"iE w0

n/-c(ab参数)51Testing软件测试网 }]Q2QR3Zt4Ul*b

cpu%51Testing软件测试网.s[^LO AjF1N!Y

Mem51Testing软件测试网u1nt!m DN9J u T2?

RequestsperSecond

.z LN9}d;{'|0

Time taken for tests51Testing软件测试网6Q"}#jwO]WAL

100000/10051Testing软件测试网2l L6gq{3u)x

40.6

wD,R-G-q)kC3Uk"O0

170

|.?)OM-r*FK2yg0

690.7251Testing软件测试网 ZDLV+MSf

14.47

\^3d _#G.R6K0

100000/200

u/P#p b0G]!A!oz0

41.1

I4P'\(M]0

180

vh7jP7H(b W0

685.39

"n\}!tK ]}L0

14.5951Testing软件测试网A2i"eY{ z#F,`9Kj

100000/50051Testing软件测试网9ub%l)]P%z

42.351Testing软件测试网!`C*gtG8S

19051Testing软件测试网$lV^%QTG8l+Fu

633.6451Testing软件测试网 vd/vD0bwL?Ex

15.78

OE7i:T mq \8e/S~0

100000/100051Testing软件测试网2Z$p-h g5z:i

43.151Testing软件测试网%n kKF!Yr%n

20051Testing软件测试网x/U!E.w8E'f

547.53

7v%hp+x$T;O5[0

18.2651Testing软件测试网Mf@8^B6{y0Q


l        动态页面 内部社区首页51Testing软件测试网B1T}a9J!aq6W7Z

LIGHTTPD

Q)W1s+fx`w\0

n/-c(ab参数)

%h P j(_V:i!z8`NLl0

cpu%51Testing软件测试网_Pc(t.}3z*mP u

Mem51Testing软件测试网Y)gG,@ig

RequestsperSecond

CQ {R(z;o0

Time taken for tests51Testing软件测试网'jE(Y6Af3[_\po

1000/100

f0Et]$U0

50

'gD2pZ1R@qNsn0

20051Testing软件测试网-P/C1_y L6l

33.54

3RF|q]|Y0

29.816

#\l$zc:@0

1000/200

jC,@!sLV\/x&U0

5251Testing软件测试网D7E jY4_'Z d-p4e

210

Z wGy,v-x$C#?0

30.43

#f6t~ n(MN!V({*F$h9U0

32.858

od@*g+g [0

1000/500

\3C\ P3m3c)C0

5451Testing软件测试网6i:j7T4]2V3W!OmIl+WP(m

23051Testing软件测试网9N Hwb e&tH X5Fp

25.79

4Q(XZ[%u%d*i2r-R!Eg0

38.7651Testing软件测试网 g\6_D)k?[ jj

1000/1000

$Cr ^8W H'{3kq0

6251Testing软件测试网2jg4|0zJ-w9i {6W)p

25051Testing软件测试网/{ A"~)Q,v9[Ny(BQI

24.8351Testing软件测试网O4v;ANmTMr%E

40.28

g9XGYp8[0

NGINX

1[HS E,L6n F4{vr0

n/-c(ab参数)

lj Q%C(s;aQ5g0

cpu%

1N$} t9}msRe0

Mem

QRRyE@3qt0H4F0

RequestsperSecond

[)D7@7A.]1f0

Time taken for tests51Testing软件测试网D.zd2R DU

1000/10051Testing软件测试网 F3u c2J+uT-d

53.851Testing软件测试网k6k I \3\J;Px

250

"{a*j'Q&Xg"h0

83.1251Testing软件测试网0U*JRNi b-h-v

12.305

XaK:t Tu0

1000/200

|d/q;v!v c|ZQ!f@0

55.8

{1Ia!z"{p5_1X0

250

2xF.H'i1T!BL0

74.05

5}5x7G!V)m&t%W(S ~V*w:Y0

13.50451Testing软件测试网3Ma`;lz {

1000/50051Testing软件测试网.lE_oa9KD

56

+y1r.`Q dg4}#P&U0

26051Testing软件测试网6h\YIN&_

58.9951Testing软件测试网;M;O s3M8x0Y*M

16.951

4qx T8My:FdW0

1000/100051Testing软件测试网.N$fwvO

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

TAG: nginx Nginx

 

评分:0

我来说两句

Open Toolbar