nginx apache lighttpd 静态文件 性能测试

上一篇 / 下一篇  2007-06-19 13:34:33 / 个人分类:LAMP

CD"? `Cb0网络上也有其他的测试结果,但是对nginxapache的对比都是针对小文件的(44 byte,apache安装时自带的index.htm),而没有考虑到现在web应用中大多数静态文件的size是远远大于44byte的。木铎校园 BBS 社区,d2GQdUGw/q^F

8n(jK)ww(kP0另一个测试结果见:http://www.muduo.net/index.php/8974/viewspace-136293.html

VO4z${9c[-e0

O"@'tg'OV)n7b y0是我转来的木铎校园 BBS 社区D3j0fShI:z8X6j n

Z~%dKv I2\q#I0木铎校园 BBS 社区7_ R$? } H:`&i)}bv
WEB server 测试
FwF"l%DYc#E0测试目的:
.p1M,s2W2e9`0  Web Servers  nginx、perlbal、apache、lighttpd (目前只测了apache和nginx,lighttpd做了部分测试)木铎校园 BBS 社区$gH ?0B(Jo$vD
 测试通过上述4种web server,评估其访问静态文件时速度及做代理访问的速度(代理服务性能未作测试)
h*h:z2x2RF_0测试工具及平台:木铎校园 BBS 社区q"l hZ!h9rF
 apache bench木铎校园 BBS 社区 G]2O+Ia7I
 autobench木铎校园 BBS 社区"e&\1x2}%blP
 httperf木铎校园 BBS 社区}v2jl8\H7g
 webbench木铎校园 BBS 社区J)t7H;^k[af
 3台Dell 1950(4核2Xeon3.0GHz / 2Gmem / 146G 10k rpm disk):server1、server2、server3、server5木铎校园 BBS 社区p}/ei%?.yBwG,x
 server1作为web server,处理从server2 、server3 及server5发来的web请求木铎校园 BBS 社区#a(l*_])f
测试策略木铎校园 BBS 社区 M%St0L0O?Pa
* 根据应用特点,不使用web server对动态页面的支持功能,所以,所有的web server编译时不增加对动态应用的支持木铎校园 BBS 社区}A*{f[{b
* 在上一条的基础上,尽可能增加web server本身的优化措施,如:cache等
1Qq#~\U#`K0测试步骤:
Ci]$z7LP H'a0    测试访问静态文件的速度:木铎校园 BBS 社区Z W!QF.q7X
1) 在server1手工编译上述4中web server,并分别生成如下大小文件供测试使用(44byte,1k,4k,8k,16k,32k,128k,512k,1024k,2048k,5120k),单位byte,如需要可再增加对更大文件的测试
*l)X"[+s9a(~*y0I T02) 配置并优化web server,具体配置见附录木铎校园 BBS 社区Sh U!~;D
3) 测试并取得数据木铎校园 BBS 社区*y"_x`{9n X3A
测试数据及简单分析木铎校园 BBS 社区4W#~ {"z#\~s
 说明:由于测试设计的问题,测试先对16k byte 以上的文件进行的测试,通过工具httperf+autobenche,取得数据如下:
'RDUrm}x0测试命令:
x9nF7sWM0for size in 1 4 8; do autobench_admin --single_host --host1 192.168.1.249 -uri1 /"$size"k.html --low_rate=300 --high_rate=6000 --rate_step=300 --num_conn=6000 --clients 192.168.1.248:4600,192.168.1.247:4600,192.168.1.245:4600 -file "$size"k_autobench_apache.csv; done木铎校园 BBS 社区of4g/N g0d9ma
* 对 size=16K 文件的处理能力木铎校园 BBS 社区lf8N{kKsw
* Nginx server对16k文件的处理结果木铎校园 BBS 社区1ZDwz3TRIU

pJ-bDG"w|0* Apache 2.2 对 16k 文件的处理结果木铎校园 BBS 社区ly_u,[7E

木铎校园 BBS 社区_|;I*VhrHK

* Lighttpd对16k文件的处理结果木铎校园 BBS 社区9H'qfC/h,Y/rBC

Y/MN B2Y6~e4^@0分析:木铎校园 BBS 社区+`#V#y A:C-OS5DD
* 从上图可以看出,对与size=16k的文件,ngxin的性能比apache 2.2 mpm=worker方式性能不能算优越,相反,对于并发访问量大于16k的时候,apache的承载能力要比nginx的性能略强,而lighttpd是最强的
7hum5l)Ib*_i `0* 由于测试客户机的限制,单台客户机并发访问量达到极限,导致大并发测试压力无法达到。
}jQ9Sp5}0* 对32k文件的处理能力木铎校园 BBS 社区7_&jAQ u~O7y|L^
* Nginx对32k文件的处理能力木铎校园 BBS 社区i0h%M.QO

/T"w0q|-^(I8Z \0* Apahce 2.2 mpm=worker对32k文件的处理能力

6Qq7l C0`s9t[0木铎校园 BBS 社区/d1v~$r9\X

* Lighttpd对32k文件的处理能力

!l,lc0w D{8l/SS0

W},lL^ s1l]0分析:木铎校园 BBS 社区L5g8q H8y{iM
 从上图可以看出nginx的性能曲线比apache的稳定的多,并且在大并发访问量的情况下基本没有性能衰减
t8q\:?|"_Yn w0* 对128k文件的处理能力
;R/|ib9t-_0* Ngxinx对128k文件处理能力木铎校园 BBS 社区6U m3}1XE5t Cmn2U

木铎校园 BBS 社区c1e*\N@z6j1D

* Apache2.2

']Ug H }k!F0木铎校园 BBS 社区S/R@.G7W

* Lighttpd

'R9T {1Y#?!o V0木铎校园 BBS 社区/c,EC0f%e X)c&ax

分析:nginx在大并发访问量的情况下,性能能够迅速上升,并表现稳定
Z;{Z5z5G!sBZ0* 对512k文件的处理能力木铎校园 BBS 社区'A#j*L Fa:n(^#\
* Nginx对512k文件的处理能力木铎校园 BBS 社区:u.C6]2nh

木铎校园 BBS 社区 v [ D8@:E B

* Apache2.2对512k文件的处理能力

vF6re'G*N({0

O,\`xV7B%t*Q0* Lighttpd对512k文件的处理能力木铎校园 BBS 社区7t7B-K[w UY.b

木铎校园 BBS 社区JN Ly/qm

 分析:对512k的稍大文件,apache的性能表现是最好的,稳定、高效;nginx的性能无论在处理效率还是稳定性上略逊于apache,但较lighttpd稍好。
,n.~)l/`E5\0* 对1024k文件的处理能力
z\'u0NK Y'G/^0* Nginx对1024k文件的处理能力

eX&ej9y0

Lk,X_$c$k~o0* Apache2.2对1024k文件的处理能力木铎校园 BBS 社区']wfM2kP7K

,Y4kS/F.H0* Lighttpd对1024k文件的处理能力木铎校园 BBS 社区 L|$@ _:@n/K*?

木铎校园 BBS 社区M-xPn J(UWI!e

分析:对于大流量(带宽)的访问,apache的负载能力是最好的,优势明显。而nginx比lighttpd略好一点木铎校园 BBS 社区`nv#rl(^'pg
* 对2048k文件的处理能力
j9MDi ]I0* Ngxin对2048k文件的处理能力木铎校园 BBS 社区 w-C*OL*f#Y/_[

$P'x%g ]M2c*n ZRS0* Apache2.2对2048k文件的处理能力木铎校园 BBS 社区 OJ:V|LSb\

,R-? d+s]0* Lighttpd对2048k文件的处理能力

R2G8JH+|s;DwL-M!E0

2X [5O#`#JE;sD0分析:同1024k文件木铎校园 BBS 社区x d(xh*H*J&U%ci
* 对5120k文件的处理能力木铎校园 BBS 社区0i-hZ-S0i _F
* Nginx对5120k文件的处理能力

;e)O DY(Tj0

R+cm/X(Vo%l_q;L0* Apache2.2对5120k文件的处理能力

6OBZodKJL0木铎校园 BBS 社区[i7T%bZ,]/w?s

* Lighttpd对5120k文件的处理能力

]3}?aLB3w0木铎校园 BBS 社区 f)`l w1N,Z1nuu

分析:对于5m这样的大文件,apache和lighttpd很不理想,甚至不能够完成测试便结束与测试客户端的连接。而nginx虽然曲线不稳定,但是相比来讲,nginx还是略优于其他两者的。

|\ K.snrvZ0木铎校园 BBS 社区i$kA} p7|,S{(y

对小于16k文件的测试
|9eD"wv9G C0 说明:这个测试开始的时候并没有考虑size< 16k文件的情况,因为根据web应用的特点及idisk应用,考虑用户上传及下载的文件 > 16k的情况应该在大多数。但是由于上面的测试所分析到的结果同网上公布关于nginx及lighttpd的性能对比数据并不吻合,nginx的性能低于本人及lcq的预期,所以,增加了对16k以下文件的测试。同时,由于考虑到测试客户端服务器数量的不够,httperf触发到web server的压力不够,改使用使用apache bench这个测试工具,测试参数如下:木铎校园 BBS 社区Oi#C;g eyh'G4Ms};h
ab -n 100000 -c 128http://192.168.1.249/$file.html
X9t;v2`+r"B{.x5s0Server Hostname:
2\2l.E8T@T U9lfQ0192.168.1.249木铎校园 BBS 社区6l-hk-CX.g n
Server Port:木铎校园 BBS 社区{2A}&t`k ~ M
80

SZRJ,^0

7J*b*vf5xM5km1@P"l0木铎校园 BBS 社区NT9v [1Qd-O7ptl
Document Path:木铎校园 BBS 社区6m6] M+F~O c.[.AR
/index.html木铎校园 BBS 社区tT{f;h&o4h
Document Length:木铎校园 BBS 社区4O9\;D%|5el4P2Mw
44 bytes

2UP }U oJdS*Nz-q0木铎校园 BBS 社区8e(j2d:lzZ n


/y;p9x z.rv#m;M0* 对于44字节的文件(apache安装包中的自带文件index.html)
J rCPW G0* Nginx 对44byte文件的处理能力木铎校园 BBS 社区 H/sL1i0[["P K
Complete requests:木铎校园 BBS 社区WW[\J9X b})CI*B
100000
jgU?TJ)BT0Failed requests:
8{$G;j}/f00木铎校园 BBS 社区\O#G_nhPGM6q-Q
Write errors:木铎校园 BBS 社区 Y#h:P)@4H$M
0
{8Gji F!k|0Total transferred:      25401778 bytes木铎校园 BBS 社区$| x~-{*}h o Fc~/Q
HTML transferred:       4400308 bytes木铎校园 BBS 社区OI4x4DO$a;b2i9z
Requests per second:    7816.66 [#/sec] (mean)木铎校园 BBS 社区 A(M0Fs!wxBM
Time per request:       16.375 [ms] (mean)
_9W Q1fy0Time per request:       0.128 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区&Y|8g4^;@P!~S\(n
Transfer rate:          1939.00 [Kbytes/sec] received木铎校园 BBS 社区j{b Dr

木铎校园 BBS 社区6r `-EkL"w%YE

* Apache2.2对44 byte文件的处理能力
2np XU"Bs0Concurrency Level:木铎校园 BBS 社区:n d*Qozu~p+}9g6a
500
P GFn JKm ]u1L(w0Time taken for tests:木铎校园 BBS 社区G.v|1P;ef
243.420213 seconds木铎校园 BBS 社区8IWymt p#C
Complete requests:木铎校园 BBS 社区2XUELh%YH]_
1000000木铎校园 BBS 社区-X$H4Yx M^`
Failed requests:木铎校园 BBS 社区Eg/Fi-I~
0
Iw4R iD3w0Write errors:
wWp6A*JQY\ V00
[:|]/h/O,s,B0Total transferred:木铎校园 BBS 社区:hvj:NF4r8Vm,L,P5T
319000319 bytes
sG$O,{/I0HTML transferred:木铎校园 BBS 社区Cue4[v'P
44000044 bytes
@'w cMN_5h0Requests per second:木铎校园 BBS 社区%o OBujMu8b
4108.12 [#/sec] (mean)木铎校园 BBS 社区@[bXa o5`f/I
Time per request:木铎校园 BBS 社区dv%PU:v
121.710 [ms] (mean)
ohz n$S|q*K\0Time per request:木铎校园 BBS 社区P RD's-?g}s
0.243 [ms] (mean, across all concurrent requests)
d m/w&QI;W[,_*c0Transfer rate:木铎校园 BBS 社区hLu_ d1`
1279.77 [Kbytes/sec] received木铎校园 BBS 社区4^ Y eeq$M;F.W$C}
* 对128byte的文件
/dK H*G:T~QH`+eKA0* Nginx对128byte文件处理能力
2u7^h m {0` P-k0Concurrency Level:
k ye-~ k/g.m8L$] h3k0500木铎校园 BBS 社区,Zf@U`*D)@
Time taken for tests:
pqFWBL0123.838121 seconds
S*P+bDn$n4gSa0Complete requests:木铎校园 BBS 社区V;?$a@jD
1000000
/E c~ k"V]t0Failed requests:
uK'K$o"p H1Z3i00
)wP_ V L@5g0Write errors:
g2w%bWO ExiI00木铎校园 BBS 社区nl&SW-Z8aB0[`
Total transferred:木铎校园 BBS 社区1t{N#~'m
339000000 bytes
p|o+ia*\-s}z:X0HTML transferred:木铎校园 BBS 社区bk;yO5K
128000000 bytes木铎校园 BBS 社区v+HHZF
Requests per second:
v.Q+cI+xZ08075.06 [#/sec] (mean)木铎校园 BBS 社区aY cXg_
Time per request:
Ow zMgx)K$b061.919 [ms] (mean)
9^/FeNm0Time per request:
4Y v xIV tt00.124 [ms] (mean, across all concurrent木铎校园 BBS 社区a w$R h4B'vD![
requests)Transfer rate:木铎校园 BBS 社区5A7N\ p4h+k{
2673.28 [Kbytes/sec] received

Tm;a$n_+B)pB(W0木铎校园 BBS 社区S|uF!N0N)[$}u N

* Apache对128byte文件处理能力
^@;FM[\0* 对512 byte文件的处理能力木铎校园 BBS 社区K:r%WEki
* Nginx对512 byte文件的处理能力
T0g| W v a K O0Concurrency Level:
S vxw3X)Q-p'A$ph0500
4~"RF l9xitT8e0Time taken for tests:  木铎校园 BBS 社区e#I]`*p1p
124.590902木铎校园 BBS 社区d3d]|E
secondsComplete requests:     木铎校园 BBS 社区;c*_5qmUEf m w }
1000000木铎校园 BBS 社区7]n)YLJ%sg;jZ

}[.T2Tf`YKcd0Failed requests:       木铎校园 BBS 社区.\`4z&`J5E
0木铎校园 BBS 社区0Yt TzS/z8g8{I%C
Write errors:木铎校园 BBS 社区+nI V.ef
0
0C7BI9l b"PX0Total transferred:木铎校园 BBS 社区Y'g!LlbY
723000000 bytes木铎校园 BBS 社区*g~i)gP@z%e0A
HTML transferred:
j{;`j7MR0512000000 bytes
tT#|PoHtB!a R0Requests per second:木铎校园 BBS 社区)bc?PB]D
8026.27 [#/sec] (mean)
,pn6B/]|0U0Time per request:
4S/|9gqa!A062.295 [ms] (mean)木铎校园 BBS 社区@M:gP{OH{x
Time per request:木铎校园 BBS 社区c*y:gcc
0.125 [ms] (mean, across all concurrent requests)
)M)g&r3D4^!o0Transfer rate:木铎校园 BBS 社区Y6Pl |C
 5666.98 [Kbytes/sec] received

o4GC*\II&y0

,|)p!Z*q"k;{~(X0* Apache对512byte文件的处理能力木铎校园 BBS 社区$~R@yc!S ]
Concurrency Level:
}1}u$jI8Y0500
2}5PBa?^0Time taken for tests:木铎校园 BBS 社区e z4Q0Td
117.321116 seconds木铎校园 BBS 社区 y Irvv(z(h!h
Complete requests:
#F5lA Je"?01000000
A5W L%Hl [\8AW0Failed requests:
N"zf"P0l3T00木铎校园 BBS 社区)U;| _r doQ
Write errors:木铎校园 BBS 社区t5^h D;| F!ol E
0木铎校园 BBS 社区~ A;{+J/e
Total transferred:
wm/C9~8Bx0789109671 bytes木铎校园 BBS 社区P _m C:u'B
HTML transferred:
;rTe:G%iv/Ur0512071168 bytes
#Fr H tWm ]U9uH0Requests per second:木铎校园 BBS 社区X+V"H6\7ET{%a
8523.61 [#/sec] (mean)木铎校园 BBS 社区`^'{ Q%j/l-}6\z
Time per request:木铎校园 BBS 社区7m'B-o$^h+W_@2o
58.661 [ms] (mean)木铎校园 BBS 社区l-Q#i5]KN @ jj
Time per request:
\5p`,^"m$k.a1k&R00.117 [ms] (mean, across all concurrent requests)
;us%Z6M/x;dzwv0Transfer rate:木铎校园 BBS 社区(Dxf.T4V4XS4[Kzn
6568.42 [Kbytes/sec] received木铎校园 BBS 社区{l3cI[ O
* 对于1k的文件
M `6if)O(_ \/tN0* Nginx对1k文件的处理能力木铎校园 BBS 社区?3N |Cm r5c3[O
Concurrency Level:木铎校园 BBS 社区dsc a?
500
{wb4N?;X%_0Time taken for tests:木铎校园 BBS 社区:dC$b|&l+i]Z
128.156121 seconds
4he t5C#O!CK`C{0Complete requests:
-_H.}n\K|$HX4t01000000
AH)T@t7]y v0Failed requests:
.Ns1{l9xqW00
w!CR&tXi*O;yb[5H0Write errors:
I!X[L/K^0s(Z00木铎校园 BBS 社区/A\N!e)q
Total transferred:木铎校园 BBS 社区a Y;]P;z1u"_0r4b
1236006180 bytes
uD@%{1o U8yqN0HTML transferred:木铎校园 BBS 社区4DYZU-Xc
1024005120 bytes木铎校园 BBS 社区.w5G[OW J)u
Requests per second:木铎校园 BBS 社区@)`a8o!^ n@6y
7802.98 [#/sec] (mean)
NAokKe%e0Time per request:
^MNZ:rX%_-sG064.078 [ms] (mean)
c`.cY-Z0Time per request:木铎校园 BBS 社区1B%s4I n!d"X aQo+r
0.128 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区9{e9p1_ t
Transfer rate:
'L8KLtE]09418.49 [Kbytes/sec] received木铎校园 BBS 社区k!NF0e?z7}f
* Apache2.2对1k文件的处理能力木铎校园 BBS 社区F*d-S x9i E g]#X:my.r
Concurrency Level:
1AV*};r"Q;w v5B Un0500木铎校园 BBS 社区/Y"^(L$r+i3QZ v
Time taken for tests:
.y3Y6Tzh"^Mfv0114.995165 seconds木铎校园 BBS 社区 A3FVW ?"Gs
Complete requests:
9yG2Z(@'M0zW01000000
;S2O \?w;r%b*md D0Failed requests:
`#f&~R6i:KWw8G00
P}A)kS8jm0Write errors:
:aKPrA y-}00
R ?1bDdp0Total transferred:木铎校园 BBS 社区0e XEd5l'j
1302243474 bytes
d.i |'Y8dA4V,Qx0HTML transferred:
+D6q(iL4RRk01024191488 bytes
Z NiF'yg0Requests per second:
5h%iSIz$Rt08696.02 [#/sec] (mean)
T2M(s v1o1u;y8[5b6B0Time per request:木铎校园 BBS 社区s5}3h;A,n9X\ T
57.498 [ms] (mean)
1C0N}'w5`c0Time per request:
'HBFrN*Y%_`00.115 [ms] (mean, across all concurrent木铎校园 BBS 社区2b] s,k`Pp4\2p*m
requests)
plX/Lp(f+g0Transfer rate:木铎校园 BBS 社区T*\FV4sY
11058.92 [Kbytes/sec] received木铎校园 BBS 社区+}P9U.mDBx

木铎校园 BBS 社区7Kjs Oke |f

* 对于4k 的文件
H \9@;dCc)[M#k0* Nginx处理4k文件
$Su:RYI1L0Concurrency Level:木铎校园 BBS 社区x%a\$PhQ/j*U
500木铎校园 BBS 社区4_Dk-`f0lP5\^1]^
Time taken for tests:
Qs(rW,O\0135.155806 seconds
`(c%VQ+i OQ|0Complete requests:
:YW8PUq-{6u5a-A\ \B01000000木铎校园 BBS 社区TTf7VbW ?'AO
Failed requests:木铎校园 BBS 社区K8Q&A+b _'ydh2Y
0
eas T0F0Write errors:木铎校园 BBS 社区&?ii)j0R4j
0木铎校园 BBS 社区:db)MI`C"W
Total transferred:
@ r Eh0i.lQ pG/w013032916 bytes木铎校园 BBS 社区{V2T3O X7P
HTML transferred:木铎校园 BBS 社区%}n/j1o l'a
-198967296 bytes木铎校园 BBS 社区:~EUJ.KP vjt
Requests per second:木铎校园 BBS 社区Fu1?zP,r0bRi
7398.87 [#/sec] (mean)
S?~j#e0Time per request:
XA:ud'b[7D&uD067.578 [ms] (mean)
{/~{`5[#o{^,x{{0Time per request:木铎校园 BBS 社区 e-d1PTi X&b
0.135 [ms] (mean, across all concurrent
I_k&H$M&i-U0requests)Transfer rate:
"Xii)Lh\:l094.17 [Kbytes/sec] received木铎校园 BBS 社区m F j.m[u\

9o6L-c)RJ Az4_:Z4hB|0* Apache2.2处理4k大小的文件
;U7QO)A2l)e4u{d"Z j0Concurrency Level:
Gs+NB;J*G)m&cV&gJs0500
+cj&x2q6B+GYw0Time taken for tests:
wZH9i:i#bI*]0126.370099 seconds木铎校园 BBS 社区 Z gKC^
Complete requests:
:]W1[r0E\:q;c#k01000000木铎校园 BBS 社区)[Np.U;x2[ A
Failed requests:木铎校园 BBS 社区!]+zX(Xy8gO;s,F
0木铎校园 BBS 社区cC*K!l4k
   Write errors:木铎校园 BBS 社区 i/{$Cfq;JF.w
0
~Nll.KO Y7o*? v/n*y0Total transferred:木铎校园 BBS 社区MU}2d2bUEvz.j @
80238329 bytes木铎校园 BBS 社区;x(JT? \2D
HTML transferred:木铎校园 BBS 社区0V#If2Q7~
-198774784 bytes
/]*b9a/t7x{[0Requests per second:木铎校园 BBS 社区 Sp%o'oz
7913.26 [#/sec] (mean)木铎校园 BBS 社区3`c:f&h[ k]0e!F
Time per request:木铎校园 BBS 社区"z#]|S.d0Q-x.r!b
63.185 [ms] (mean)
m'} c\"Q(PF8@Z0Time per request:
su@,wI00.126 [ms] (mean, across all concurrent requests)
'e+w?P)w a0N0Transfer rate:
;X'e:p ej0   620.06 [Kbytes/sec] received
}#Q&w2t)}2g$`0* 对于8k大小的文件
u*nt5_4RWHhc0* Nginx对8k大小的文件的处理
c*Ol"Xz#A z Z/u0    Concurrency Level:
+C"Xe*W'~8E*O%a0500
3As J(JT;Ht8tr0    Time taken for tests:木铎校园 BBS 社区v Ik3w;Qz`+xN
157.287207 seconds
y7D8S"Mew s3VNp.qP0    Complete requests:木铎校园 BBS 社区#V F#S k{MG f
1000000
j#~ \-B"c&l:]:F0    Failed requests:
bd0uQcc b00
sI \c1X-K:A(qb0    Write errors:木铎校园 BBS 社区6X!gn)nV9y:F/c~
0
:qT7t1_9Vs:^;E0    Total transferred:
cT pb!zBZ'Y0-185925480 bytes
B_3o2x2a-p,bn#W(]0    HTML transferred:
Vq,KSJ f?0-397925904 bytes木铎校园 BBS 社区$uR%HN@%GZSi
    Requests per second:木铎校园 BBS 社区,sz['~?AI
6357.80 [#/sec] (mean)木铎校园 BBS 社区 OknR3l@
    Time per request:
4^?#n3@TYl0P$f'G078.644 [ms] (mean)
:{x Q!q4_1P0    Time per request:木铎校园 BBS 社区8j)VxH.Lp3|
0.157 [ms]
*qz!Z.m;z0  Transfer rate:
A ?]6w/`,m0  木铎校园 BBS 社区1f l }oFT!l dN%m
-1154.37 [Kbytes/sec]
YrGyM$WkDx+W0received
%x0yh-s'?u4P_0* Apache对8k文件的处理
rn7mxl%q;f i0    Concurrency Level:      500
4?!K0YjV-K"B.C/~ gU0Time taken for tests:
'OH Y[*_ H4F+T0143.109724 seconds木铎校园 BBS 社区%OY [Y{$j&}
Complete requests:木铎校园 BBS 社区z5YF+T7^;b5V [
1000000
qMAm7TyL0 Failed requests:
_{G4m.M00
C1[;nS'W0 Write errors:木铎校园 BBS 社区,` ~lo%try
0
4^'Gk6uI.{({ b0Total transferred:木铎校园 BBS 社区\*LcF2lk1b elC
-118426332 bytes木铎校园 BBS 社区a4JOb2g(qQ5C ~/l
HTML transferred:木铎校园 BBS 社区)arH7c` r
-397443072 bytes
/Z3GZHf#k0Requests per second:
7r)v a xZ6hBA]q s06987.65 [#/sec] (mean)
)AJ {f)O-s{*yY0 Time per request:
n1M$K+w8~K4I071.555 [ms] (mean)
c#L8EV3x B0 Time per request:
B:F*D~h)j(B0s0  0.143 [ms]木铎校园 BBS 社区(QS nN }1o6m|
 Transfer rate:
"y`Uz-t/G3{;_m9u0-808.12 [Kbytes/sec] received木铎校园 BBS 社区'bI Jj cFx
* 对于16k大小文件的测试
| I_F7\9nd0* Nginx对16k文件的处理能力
uS)Z#q+m;BW D X0Concurrency Level:木铎校园 BBS 社区F*m,j6N;A\5o%zu&X
500
([C9~9S,g t7S%{0Time taken for tests:
Z v~rdh8vm$C0219.372311 seconds
U&oWG0` K0Complete requests:
\T t ?Z\01000000木铎校园 BBS 社区PY4I#wB2I
Failed requests:
&s'D+uru)@t00
g[Q%a9S0Write errors:木铎校园 BBS 社区0jz]}o!@4K
0
5w+vCQ.ZA m0Total transferred:木铎校园 BBS 社区EF%e~AR
-582831676 bytes
%i|3\)h G h5KH/B7Ug:w0HTML transferred:
YKfo5`jG0l1U0-795832528 bytes木铎校园 BBS 社区([:c gA8sT{ HCv^
Requests per second:
*npzI.D&?04558.46 [#/sec] (mean)
)iq }K_%Kg)L Cz0Time per request:木铎校园 BBS 社区%@6v RD Ev&w
109.686 [ms] (mean)木铎校园 BBS 社区,{ZVT}J
Time per request:木铎校园 BBS 社区aG,\.zC4a#}
0.219 [ms]木铎校园 BBS 社区ERg&vh
Transfer rate:木铎校园 BBS 社区[Uk0f O
-2594.54 [Kbytes/sec] received木铎校园 BBS 社区*N+TMjM
* Apache对16k文件的处理能力
LV^m,u6FC_5Y E0Concurrency Level:
E%CV8p$Q:@,b0500木铎校园 BBS 社区$I3XJ \au)pAaEr
Time taken for tests:
NsK*tL^4U0198.434243 seconds
!EK8[ SI*Z(QjZ-Z0Complete requests:木铎校园 BBS 社区/s5O g.m'h B&}A9z
1000000
9l5GVYr,Y"p0Failed requests:
:O7["[XuH r00
r3T5z duO0m%O(m0Write errors:木铎校园 BBS 社区B'e8KW | U%C
0木铎校园 BBS 社区^^,D4n)By+V
Total transferred:
D/Fw[6L COr0-515738792 bytes木铎校园 BBS 社区6j.XVr[7h&Gu [
HTML transferred:
y@+l'B.c&b0-795741312 bytes木铎校园 BBS 社区} dv ^ {5@`6Tw
Requests per second:
){6x4x2|L-e3O05039.45 [#/sec] (mean)木铎校园 BBS 社区BYZEq8y!u/C
Time per request:
N;` d8yP?2]x0g&t;K9}099.217 [ms] (mean)
`5M/U| U0Time per request:
I g3Dp5G1P k+S0H(X00.198 [ms]
$v:k3V9xqn$G0Transfer rate:
{7N ] AmLL0-2538.13 [Kbytes/sec] received

*L+L"R5du0

1hu'{$B4E-sO1W0综合分析:木铎校园 BBS 社区4O5b)^:R4h(L@
 本次测试并不太成功,由于准备的不足,3台autobench+htterf带来的负载并不能够给web server带来足够的压力,这也是后来测试更小文件的时候使用ab的原因。
h8ER e KM;`0 Ab和webbench这两个工具简单易用,测试时间短,并且能够带来充足的压力。建议以后在测试中,如果不能够有足够多的机器,尽量不要使用autobench。木铎校园 BBS 社区 D |4Pj+O1MR#F,z
 尽管测试的结果同我们的预期有较大的差别,我在回顾整个测试过程,测试数据还是比较可信的。对于目前提供丰富多彩内容的web服务来讲,nginx的性能并不比apache with mpm=worker的性能要好,但是其稳定性及对服务器资源的节约倒是为让人眼前一亮。其配置的简洁性也大大好于apache。
9{"K5WH2T;ab0 对于lighttpd,尽管在测试小文件时没有再考虑,是因为lighttpd的1.4版本中的proxy存在严重的问题,并且,个人觉得相比nginx,lighttpd不够快,相比apache,lighttpd也谈不上特别节省资源。木铎校园 BBS 社区;R:H [|6nM%X:KB
 木铎校园 BBS 社区:ed2p6\W1v| o
建议:木铎校园 BBS 社区4H3G X/e,V2R2@E
 对于服务器性能优良,对apache熟悉且不讨厌其较为臃肿的身材的情况下,尽可能的使用apache,其应对静态文件的服务性能还是很优越的。木铎校园 BBS 社区E A8}z\]6ozmBJ
 而对于访问量较大,文件较小,服务器性能一般的用户,可以多考虑使用nginx。

| o$t.@wt6V0

4t l!Bx2n1Q-vMl4U0其他:
"T%LV"S2z6O0测试过程中没有特别的脚本或程序,上面提到均可以在相关的网站上下载,文档中不特别说明。
4^-rd2kS1X8gM0附录中提供了一些简单的优化配置,相信可以满足大多数应用的需要

D*iz;\-DJ0

{3c#xzb EZL O0Nginx:
/I}5Hw!m(n0worker_processes  32;
^OPj(y6z}3x0events {木铎校园 BBS 社区:XB&V&z&E
    use epoll;
^#w5uR5{(S0[&~S;_0    worker_connections  1024;木铎校园 BBS 社区eAd4_~9Y0B\(Q
}木铎校园 BBS 社区#uj ]V?^){V#@
http {木铎校园 BBS 社区v^Gh|U4e
    include       conf/mime.types;
"kw+@P^)N!r0    default_type  application/octet-stream;

q3w1G4P2W:|0

sey v?+H2p7|0    log_format  main  '$remote_addr - $remote_user [$time_local] $request '
GO,T1AP3BI0                      '"$status" $body_bytes_sent "$http_referer" '木铎校园 BBS 社区YQ7aPmO_&f;Q
                      '"$http_user_agent" "$http_x_forwarded_for"';

s,C[X}0木铎校园 BBS 社区KIj+jY:GL)}1Q5F

    access_log  logs/access.log  main;

M D7|![mU0木铎校园 BBS 社区N n$WK!x+K Ig

    sendfile        on;
&Ws AQW4l k n T5\0    #tcp_nopush     on;木铎校园 BBS 社区iA ZJ,A,JN

木铎校园 BBS 社区,fYC+w5wW.n

    #keepalive_timeout  0;
%v%`\![#QW0S%PQ r9]0    keepalive_timeout  65;

7x%I!m4X)C0木铎校园 BBS 社区;k+k"Eu(ho*hM5j~|

    gzip  on;木铎校园 BBS 社区Zg UIk/}

7s"u&vjm+y5z0    server {木铎校园 BBS 社区1[P m;bvP4T&\{'k
        listen       80;
m-Q$bq \8]vP0        server_name  localhost;

a+K g"?k0

acy2Ahl K0        #charset koi8-r;

e(wr%Z,V3g0

y nJ/r/rx0        #access_log  logs/host.access.log  main;

(o!C-?Y2df0

m_l-e2{;s5c,x[0        location / {
$A4u;FVR_a;]0            root   html;木铎校园 BBS 社区S\ O ZT9} fz
            index  index.html index.htm;木铎校园 BBS 社区Qv b$O @vU
        }木铎校园 BBS 社区#J,Q&n2Q.s8n5v7P4@

木铎校园 BBS 社区/QK ?7p(o@.SH7]

Apache:

0U9V/_2}o9NETW;E0木铎校园 BBS 社区HBu'Ds

<IfModule mpm_worker_module>
0s3Vf5^%T[c;yC0    ServerLimit 50
,qu h _ w1V.P;_a0    ThreadLimit 200
@:\hv0C!j2ewZ] h p0    StartServers         4
Ee&t Gx b0e t a"b0    MaxClients           4096木铎校园 BBS 社区/FA-J*l l8Q"S2^ ?
    MinSpareThreads      25木铎校园 BBS 社区/iN)QG-L)p"p^3i+QE
    MaxSpareThreads      75木铎校园 BBS 社区 I']"vzC_Q
    ThreadsPerChild      128木铎校园 BBS 社区K}7|v^n
    MaxRequestsPerChild   0
_ n"P#en c5W~Z0</IfModule>木铎校园 BBS 社区 A U6[v;j3x

1f%N1O\q P0 

.GMy{u$c0

k6M|(GQJ{,U[7k,xI0 

TV'CxS/i3t'ce0

TAG: apache 性能 lighttpd nginx

引用 删除 Guest   /   2008-07-25 19:52:57
5
引用 删除 Guest   /   2008-06-22 19:46:02
1
引用 删除 Guest   /   2007-12-22 01:02:04
3
引用 删除 Guest   /   2007-12-10 23:40:25
5
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

关于作者