nginx apache lighttpd 静态文件 性能测试

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

)Js6ax~p:d"I0网络上也有其他的测试结果,但是对nginxapache的对比都是针对小文件的(44 byte,apache安装时自带的index.htm),而没有考虑到现在web应用中大多数静态文件的size是远远大于44byte的。

+H"BB6eZq3QV+W u0

%}E(g+i.Vs M.j&]}0另一个测试结果见:http://www.muduo.net/index.php/8974/viewspace-136293.html木铎校园 BBS 社区5x&au2p c1@7T7a

木铎校园 BBS 社区6~Mo0lcf(b5j^ O

是我转来的

Iu]h j/w Cdl,J0木铎校园 BBS 社区:[!J7F,k#yo-F4[


\Y DtPV-O%m VF0WEB server 测试
8d} L5Xea p0测试目的:
lde ~ Q$zeg@]0  Web Servers  nginx、perlbal、apache、lighttpd (目前只测了apache和nginx,lighttpd做了部分测试)
"zt m"tGy0 测试通过上述4种web server,评估其访问静态文件时速度及做代理访问的速度(代理服务性能未作测试)
/phDZ/|c.j0测试工具及平台:
E-K$n~ z]'r |"sH0 apache bench木铎校园 BBS 社区 `}0jQ3b!a_8x0h/g!g P
 autobench
6WIr/Q8sr Ld0 httperf木铎校园 BBS 社区,Rc#zj:J%C"h2J(\t v
 webbench
N7HX-@i R Dn0 3台Dell 1950(4核2Xeon3.0GHz / 2Gmem / 146G 10k rpm disk):server1、server2、server3、server5
S#v@f,d0 server1作为web server,处理从server2 、server3 及server5发来的web请求
$Es(rM7SsX8b0测试策略
U-J&LFj0* 根据应用特点,不使用web server对动态页面的支持功能,所以,所有的web server编译时不增加对动态应用的支持木铎校园 BBS 社区0B0I4TNyU
* 在上一条的基础上,尽可能增加web server本身的优化措施,如:cache等木铎校园 BBS 社区8E`8C0G h8ly.}
测试步骤:木铎校园 BBS 社区P3CS0l$I#p]O
    测试访问静态文件的速度:木铎校园 BBS 社区`&l-`'t4r,c
1) 在server1手工编译上述4中web server,并分别生成如下大小文件供测试使用(44byte,1k,4k,8k,16k,32k,128k,512k,1024k,2048k,5120k),单位byte,如需要可再增加对更大文件的测试木铎校园 BBS 社区.~$w2~$iq?_&qu8L
2) 配置并优化web server,具体配置见附录
/xY"\7~ k*~G VE#Mg03) 测试并取得数据
f6^9Iky7K4~0测试数据及简单分析
8pU0K~P,l m0 说明:由于测试设计的问题,测试先对16k byte 以上的文件进行的测试,通过工具httperf+autobenche,取得数据如下:
TxGcaR0测试命令:木铎校园 BBS 社区P7B7Cn'z4Ak)k `
for 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 社区a3ytg ?0aT,Tc P
* 对 size=16K 文件的处理能力木铎校园 BBS 社区)Gewy1jf7PG#}
* Nginx server对16k文件的处理结果

"p'S4j7X])c:N0

?X%| S/o6Q|0* Apache 2.2 对 16k 文件的处理结果

"C?b K`+Wq0木铎校园 BBS 社区;LR$X"U'gX(G

* Lighttpd对16k文件的处理结果木铎校园 BBS 社区 IK`bhGO5f

L%~!`o {F0分析:木铎校园 BBS 社区 wb[&f| s
* 从上图可以看出,对与size=16k的文件,ngxin的性能比apache 2.2 mpm=worker方式性能不能算优越,相反,对于并发访问量大于16k的时候,apache的承载能力要比nginx的性能略强,而lighttpd是最强的
:q2l)S H.f0* 由于测试客户机的限制,单台客户机并发访问量达到极限,导致大并发测试压力无法达到。木铎校园 BBS 社区 ajw _6b {%U
* 对32k文件的处理能力木铎校园 BBS 社区/[1f*s8Drr
* Nginx对32k文件的处理能力

#h/Gk(v lN)U0木铎校园 BBS 社区A'??0?[0R n

* Apahce 2.2 mpm=worker对32k文件的处理能力

"r&IS5ddGQu2S;o0

Q.re[m0* Lighttpd对32k文件的处理能力木铎校园 BBS 社区/oN.M+mR~dB

木铎校园 BBS 社区:iM st'Jc$_$P|4H

分析:
4FZn*N)G ZUT'Q0 从上图可以看出nginx的性能曲线比apache的稳定的多,并且在大并发访问量的情况下基本没有性能衰减木铎校园 BBS 社区{` z6xG] D(S
* 对128k文件的处理能力木铎校园 BBS 社区 C)EGv~5b2Fk
* Ngxinx对128k文件处理能力

{6Y_p JRx0

,M7R*Q qP-dS0p0* Apache2.2木铎校园 BBS 社区!l/Gnfp@ AD

L8e*|$lP;[k4c"R p)s4l/CU0* Lighttpd

W-QO%WP8W){E0木铎校园 BBS 社区iQKB$_'S%R

分析:nginx在大并发访问量的情况下,性能能够迅速上升,并表现稳定
2Qd!k:p%Y{5J0* 对512k文件的处理能力
%oY i4Z~pl0* Nginx对512k文件的处理能力木铎校园 BBS 社区'L1L},IO2`bo`.[

,oNHx~Yv0* Apache2.2对512k文件的处理能力木铎校园 BBS 社区Ie$L1SAr0|FX5R

6bO$k7|~l0* Lighttpd对512k文件的处理能力

}L.f&zNTp"A ]?0木铎校园 BBS 社区YaU8@)p%Sp^+cX8U

 分析:对512k的稍大文件,apache的性能表现是最好的,稳定、高效;nginx的性能无论在处理效率还是稳定性上略逊于apache,但较lighttpd稍好。
Y6g"p3U2H e0* 对1024k文件的处理能力木铎校园 BBS 社区-\"T6TRy;TR&F'IQ*O
* Nginx对1024k文件的处理能力木铎校园 BBS 社区:|#? qF,? sk

G!?d^9aG0* Apache2.2对1024k文件的处理能力

z+J)_t!D0m|0木铎校园 BBS 社区%w T%rA-YQ

* Lighttpd对1024k文件的处理能力木铎校园 BBS 社区2Z#[ N;h6c;~

ZR#ma cLw0分析:对于大流量(带宽)的访问,apache的负载能力是最好的,优势明显。而nginx比lighttpd略好一点木铎校园 BBS 社区J2DO2D8r5F K
* 对2048k文件的处理能力
4Q9[AjF*K P4rk0* Ngxin对2048k文件的处理能力木铎校园 BBS 社区0{Z@j;cFJ

木铎校园 BBS 社区{8w`}^ Q%V

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

x t,Yu/n0

,w2y%H0u2wO I\q0* Lighttpd对2048k文件的处理能力

]C2J%Tc0木铎校园 BBS 社区(V BC] M Hp_$B

分析:同1024k文件木铎校园 BBS 社区$L;p g-CW].@/g)ev
* 对5120k文件的处理能力木铎校园 BBS 社区!C:XRJ9h+aUbi
* Nginx对5120k文件的处理能力

Geo xx0h!NMa%G0

}TVuG0* Apache2.2对5120k文件的处理能力

_;@R7ae)uF+V0

.a\W ^8U0* Lighttpd对5120k文件的处理能力木铎校园 BBS 社区R-o#RJ,g/y&[+ACm G

木铎校园 BBS 社区DT^*s~!M|1v2q

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

L r)Zc||Q0木铎校园 BBS 社区kb0Bv2z q1Y

对小于16k文件的测试木铎校园 BBS 社区 xyU3z!Z!p otP
 说明:这个测试开始的时候并没有考虑size< 16k文件的情况,因为根据web应用的特点及idisk应用,考虑用户上传及下载的文件 > 16k的情况应该在大多数。但是由于上面的测试所分析到的结果同网上公布关于nginx及lighttpd的性能对比数据并不吻合,nginx的性能低于本人及lcq的预期,所以,增加了对16k以下文件的测试。同时,由于考虑到测试客户端服务器数量的不够,httperf触发到web server的压力不够,改使用使用apache bench这个测试工具,测试参数如下:木铎校园 BBS 社区9A.R.V4zpf2t!A!s G:j R
ab -n 100000 -c 128http://192.168.1.249/$file.html
W3g{c^3J7i0Server Hostname:木铎校园 BBS 社区#h+| ~ Q"Q.F _
192.168.1.249
U PH?"S5w0Server Port:
$M#FA4ig6da4r(K080木铎校园 BBS 社区2[ t+]1K7\h~uo

木铎校园 BBS 社区b0i n(W;I6O|&CH/N

木铎校园 BBS 社区6DY4mf.] ?3p
Document Path:木铎校园 BBS 社区j s,i e$B Ox\:~
/index.html
q,[-o)w$G(_?2h&};fY*C0Document Length:
@ ~#N1GF*[$g+[]h044 bytes

x }B7^p0木铎校园 BBS 社区8du)m s.O


-Qs:GPH0* 对于44字节的文件(apache安装包中的自带文件index.html)
sp@ X%s0* Nginx 对44byte文件的处理能力
_7E{~k[*X J0Complete requests:木铎校园 BBS 社区#i9~ U2B4JA%N6q
100000
p3ZQn`.?I8TC z0L0Failed requests:
y9i9XLx2[8D,Kj9U5vW00木铎校园 BBS 社区*rA^0z uH
Write errors:木铎校园 BBS 社区Y:r#}A!p-^W
0
(n:d0S'L G0Total transferred:      25401778 bytes木铎校园 BBS 社区6w.Ta"G?l%t/XFx.F
HTML transferred:       4400308 bytes木铎校园 BBS 社区;j+w#CL'W*o3v1|
Requests per second:    7816.66 [#/sec] (mean)
a2Th9UN/q E0bB0Time per request:       16.375 [ms] (mean)
El(G(Vy.h'AINGoT0Time per request:       0.128 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区/g NNT[t C
Transfer rate:          1939.00 [Kbytes/sec] received

+DC0I9M3~ \0木铎校园 BBS 社区F/wD6?;E8[-Z;I

* Apache2.2对44 byte文件的处理能力木铎校园 BBS 社区Ob@1pR0Q:w
Concurrency Level:
5L0l R'd |&Y0500木铎校园 BBS 社区6_-Dk `CVn
Time taken for tests:木铎校园 BBS 社区s!g$kn wWo;X6B+b
243.420213 seconds
t2f:i;kM$c3A0Complete requests:
6Y+l lb6C01000000木铎校园 BBS 社区sFx3Gi
Failed requests:
/Ur0n-qn Fi@00
$|EN*TG V0Write errors:木铎校园 BBS 社区 w#W:P^6|%Z:r"n\
0木铎校园 BBS 社区$e8u/n*cy1vX
Total transferred:木铎校园 BBS 社区1I F)Ug G
319000319 bytes
|.Gjb;hA(`?0HTML transferred:
4C9q6VPx'iO044000044 bytes
-u E vd#{2T9R0Requests per second:木铎校园 BBS 社区I"?4G$@hn/D*rj~A5h
4108.12 [#/sec] (mean)木铎校园 BBS 社区4r)Lpz0p {8ypw$Z
Time per request:木铎校园 BBS 社区*C)A3J]l-S5m
121.710 [ms] (mean)木铎校园 BBS 社区W R6or(R
Time per request:
5YQ KUw W O!Rg{00.243 [ms] (mean, across all concurrent requests)
W@0[[%k'`(\3w n/S0Transfer rate:
ve!H#G2| l01279.77 [Kbytes/sec] received
ZtX;yz t0* 对128byte的文件木铎校园 BBS 社区KR!?R C'@ \ j;_o~
* Nginx对128byte文件处理能力木铎校园 BBS 社区3x9C|z`iS
Concurrency Level:
1f%U0S!Pd U0500
&syD0U'T c0Time taken for tests:木铎校园 BBS 社区 T\:vD,c+c [
123.838121 seconds木铎校园 BBS 社区vivuEQ_PRp
Complete requests:木铎校园 BBS 社区3s/Ww7bJ b-frQ
1000000木铎校园 BBS 社区.I ["}!fWL.P}
Failed requests:木铎校园 BBS 社区9{9s,ZQ y&w!G0bs
0
}%J G/C/LEj0Write errors:
x O*vHbR`j00木铎校园 BBS 社区z5U{'V{!`Kejj2u4{
Total transferred:木铎校园 BBS 社区 n!a!t9yL$JylW(|%S
339000000 bytes
"td%?OY4J0HTML transferred:木铎校园 BBS 社区;u6g j!Oe,^f
128000000 bytes
m{'dD3Rff1P0Requests per second:木铎校园 BBS 社区uM~,C\GM
8075.06 [#/sec] (mean)
y.?e(_A s0Time per request:木铎校园 BBS 社区I Ye%yy
61.919 [ms] (mean)
wYqg8h4Zq0Time per request:
)o`X0exk00.124 [ms] (mean, across all concurrent木铎校园 BBS 社区[^.B)Y i*zb+F9b%q
requests)Transfer rate:
4cg)n!I4}02673.28 [Kbytes/sec] received

.{,I*q*B1f Cj%w0木铎校园 BBS 社区H0|-Y1[ S\

* Apache对128byte文件处理能力
"y:} G0L9O)l(m0* 对512 byte文件的处理能力
H c e@bv_ y0* Nginx对512 byte文件的处理能力木铎校园 BBS 社区#w \ p?U8q.F
Concurrency Level:
q'D4oToU.^~4F8|lz0500木铎校园 BBS 社区Z VBh&z1@/]A
Time taken for tests:  木铎校园 BBS 社区H~L1wx*P h
124.590902木铎校园 BBS 社区n;M|#O GV8D ^ A h)d
secondsComplete requests:     木铎校园 BBS 社区U2xn@8NXh#Fi
1000000木铎校园 BBS 社区Y:ff2Pc~j

木铎校园 BBS 社区u*^9Gg/s;~A

Failed requests:       木铎校园 BBS 社区 k X k!p.Y
0
~!f+Lb"N}3t0Write errors:木铎校园 BBS 社区KWdtPyn
0
&vm/ak2`4B0Total transferred:木铎校园 BBS 社区;HZ`? ZAp9W p
723000000 bytes木铎校园 BBS 社区'_Y)}l&F'B
HTML transferred:
;f4G7X i/CD0512000000 bytes
TMCE+Y0Requests per second:木铎校园 BBS 社区 X:n$`;M-Yu
8026.27 [#/sec] (mean)
'k'W,a0LJj {(B0Time per request:木铎校园 BBS 社区3@h#yv!P
62.295 [ms] (mean)
j5@7Ij{0Time per request:
K}/YR g\9N!U2^4k00.125 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区"pn^%t+B'j r)y%e
Transfer rate:
Y4{dQ1jW{ HK'M0 5666.98 [Kbytes/sec] received木铎校园 BBS 社区4wN D%l]'Bb(U

;Xt6u%q0Z9FnP,N0* Apache对512byte文件的处理能力
x9te;C7d |o;^8b [0Concurrency Level:木铎校园 BBS 社区 cd5x(Z(I0U
500木铎校园 BBS 社区SiB}N
Time taken for tests:
B5oy?Z6wN0117.321116 seconds木铎校园 BBS 社区Q^.O ] i Sdo
Complete requests:木铎校园 BBS 社区9Rg$X @['[ s
1000000
+H5f){R`3|Wx#i0Failed requests:木铎校园 BBS 社区s{ J(W3n,T ]T_
0木铎校园 BBS 社区!}@#F,Nx9{
Write errors:
%O]*uT$RgsWY%i00木铎校园 BBS 社区7N4Zf]4qzA8H u4?Z
Total transferred:木铎校园 BBS 社区*fc&E~d'R7qu"p'z(\
789109671 bytes木铎校园 BBS 社区-@Y!s(u| Z#wv.G N
HTML transferred:
C2M#^3ScR0512071168 bytes
-Ttv'@XX_cGd0Requests per second:
;TO'q_ Y4~k-T08523.61 [#/sec] (mean)
#i_]+kdzdjM4})w F0Time per request:木铎校园 BBS 社区3iX]kzrvq/vJOl
58.661 [ms] (mean)木铎校园 BBS 社区&I a%c^*I K
Time per request:木铎校园 BBS 社区`0Ls7sN7X#]a|3r
0.117 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区 [%X2R@3E1OO4D8A
Transfer rate:木铎校园 BBS 社区#e$h#h)D m p
6568.42 [Kbytes/sec] received木铎校园 BBS 社区WO$]z(w9Hx |
* 对于1k的文件
0xe R"s [0h/\$U D;?0* Nginx对1k文件的处理能力木铎校园 BBS 社区.?{~j h
Concurrency Level:木铎校园 BBS 社区l+[r(UnvCZp}
500木铎校园 BBS 社区/ny.\\X:CK,k]
Time taken for tests:
3i`H.j+|7B,\B0128.156121 seconds木铎校园 BBS 社区;Z-XU2o|
Complete requests:
!~2hRM5{ M ]e E01000000木铎校园 BBS 社区-e1|C!N!e\u\}3r
Failed requests:
7DT&Q W3N00木铎校园 BBS 社区jv0zOA+o-bF8}
Write errors:
7kMC.L-R nm-F00
(EMK$bp:s l f0Total transferred:
P H+mUb$]W01236006180 bytes木铎校园 BBS 社区h}-HqD{Ez
HTML transferred:
8TJQ&A!G01024005120 bytes木铎校园 BBS 社区hT^ Gq5r
Requests per second:木铎校园 BBS 社区`(f%j;e {;J
7802.98 [#/sec] (mean)
kUm^{bp x o0Time per request:
a"C/p!Yt {~S4q064.078 [ms] (mean)木铎校园 BBS 社区&~-v|V5lA8@?
Time per request:木铎校园 BBS 社区H^,n7E`;o
0.128 [ms] (mean, across all concurrent requests)
Z!N3K(`,b'U0Transfer rate:木铎校园 BBS 社区2Ab _ q)CHu
9418.49 [Kbytes/sec] received
b.v]qURWx5[ Z0* Apache2.2对1k文件的处理能力
)eL M$s |CKA0Concurrency Level:木铎校园 BBS 社区J XO~cp
500
fDb0^^.Y xkj0Time taken for tests:
.[\Z5sK ^MF0114.995165 seconds
U!W'W US,ZZF0Complete requests:
&{:e2q_ \.}pP01000000
+zT8J4lr,yB wJ0Failed requests:
;]hG%eWL;| J+L00
U/k/V$P:^0Write errors:木铎校园 BBS 社区YV5WZ!~+BsY$^)\V#]
0木铎校园 BBS 社区/[ @2Y2pIA4_.{
Total transferred:
;ow8}8v$WZ~8D01302243474 bytes木铎校园 BBS 社区[6\)~5OUyxMZj
HTML transferred:
2T y%~%b4n8w[%z5Q01024191488 bytes
7rl\H"w0Requests per second:
vj#\8Au W3dH$U08696.02 [#/sec] (mean)
l uUv9R-E.K0Time per request:木铎校园 BBS 社区0LN2C!f hvb-\CD*ce
57.498 [ms] (mean)
eR\$s8s9r0Time per request:木铎校园 BBS 社区 y-sF v,DG`
0.115 [ms] (mean, across all concurrent木铎校园 BBS 社区!CO,~+d6s h
requests)
1Da4S\ j.M0Transfer rate:木铎校园 BBS 社区?-?l-@-J/w
11058.92 [Kbytes/sec] received木铎校园 BBS 社区,S~2e!T![!J l4K7p

3n H0qPM+y1|0* 对于4k 的文件
l$s'X^v|0x0* Nginx处理4k文件
h$C0}#axW Cm^0Concurrency Level:
d,{_ywf6`0500
LE1n,U0{.m%d e%?P0Time taken for tests:
FT-`"H.D0n-i0135.155806 seconds木铎校园 BBS 社区0k0v#N.Dc4~
Complete requests:木铎校园 BBS 社区.R9m(lAbBh a
1000000木铎校园 BBS 社区d_| x/CS)q.i/P
Failed requests:
CV*y$C9r}T+h s00木铎校园 BBS 社区yjE0d)S4J/h$X8r)q
Write errors:木铎校园 BBS 社区-`!P1P2c"dmx&B3z.e
0木铎校园 BBS 社区7b2C%]X;a JK
Total transferred:
l&{ OQ5[9V6}a{a013032916 bytes
&O,S8[.Z;A!V|W0HTML transferred:
4q.{;A;zEb x e[^'r M0-198967296 bytes木铎校园 BBS 社区*fO5G8N&I
Requests per second:
8Er;W/}WY*g07398.87 [#/sec] (mean)
z;eMK9LhG,c0Time per request:
p c;d'}9p.|I{067.578 [ms] (mean)木铎校园 BBS 社区{:P.A M/y t$NN
Time per request:木铎校园 BBS 社区7G9W ?j&W"j Hda
0.135 [ms] (mean, across all concurrent木铎校园 BBS 社区 r0S{}:l
requests)Transfer rate:
@:s^N!S2W$B094.17 [Kbytes/sec] received

dE3Iq7y!`0木铎校园 BBS 社区 g/M"r9X)x&h;o/t oU0m

* Apache2.2处理4k大小的文件木铎校园 BBS 社区0q&k3r LcMbw
Concurrency Level:
&_(Q9Hb^4Dq7L0500木铎校园 BBS 社区.T:[C:w!O6X
Time taken for tests:木铎校园 BBS 社区6IG7T9f]BSR
126.370099 seconds
GR BR }Z-^)qe'_0Complete requests:
,cd$nl:K}2E }]01000000
C.z2Y}K-k|0Failed requests:木铎校园 BBS 社区 `oqNs TJ'l
0木铎校园 BBS 社区1xm]bzp!tk
   Write errors:木铎校园 BBS 社区{v;h+Ve1`jMU
0
M"^,mG/F4Z7yj0Total transferred:木铎校园 BBS 社区_r+Vj^QB
80238329 bytes木铎校园 BBS 社区(N7p!z*Ek TW?&@
HTML transferred:
O}MB)F6m }eU)y.|0-198774784 bytes木铎校园 BBS 社区7VC]*Z@eD%Rh)_
Requests per second:
c!oI;}}RmG07913.26 [#/sec] (mean)木铎校园 BBS 社区K V6N-v)^!u R0s@.W1W LR
Time per request:木铎校园 BBS 社区0o+E\wC'b
63.185 [ms] (mean)木铎校园 BBS 社区.H#pU_&B]o
Time per request:木铎校园 BBS 社区p9x(_ m8r4s
0.126 [ms] (mean, across all concurrent requests)
0P,~W,xkCW;\ b0Transfer rate:
:An_jbu8vp(}0   620.06 [Kbytes/sec] received木铎校园 BBS 社区8w6pq3@w+A,{M
* 对于8k大小的文件木铎校园 BBS 社区"k$In4\lr
* Nginx对8k大小的文件的处理木铎校园 BBS 社区$TxA e1wwL5t
    Concurrency Level:木铎校园 BBS 社区H\)V;VjT9cu#U
500
4Y2cO\6v+yk9l0    Time taken for tests:
+l_Pj4^czx,kU0157.287207 seconds木铎校园 BBS 社区 WJ&N%lH E l\
    Complete requests:
~7K"pOLMB01000000木铎校园 BBS 社区;mmp BRx;H!^
    Failed requests:
'{0mD'SW#V4X00木铎校园 BBS 社区+T{.z La-f
    Write errors:木铎校园 BBS 社区~F6K3sxi
0木铎校园 BBS 社区/N6J jfCU&D
    Total transferred:
qI'\p2X_D-d0-185925480 bytes木铎校园 BBS 社区y8B&v C]/VLY
    HTML transferred:
#i;cX"p_0-397925904 bytes
NGm?7U|:Q:S6w0    Requests per second:
y~8d#? G|06357.80 [#/sec] (mean)木铎校园 BBS 社区7dsU b~9r'H f/E"r
    Time per request:
U]5j8@GL;Q078.644 [ms] (mean)木铎校园 BBS 社区'yDIyd;X-D^U
    Time per request:木铎校园 BBS 社区 i`|5es[]Y,d
0.157 [ms]
3]q:@|H,AVN0  Transfer rate:木铎校园 BBS 社区@B#KT^(|'a`&M,B
  木铎校园 BBS 社区jS3~XE|
-1154.37 [Kbytes/sec]木铎校园 BBS 社区qS'a.S2C$pP%LFa
received木铎校园 BBS 社区ZkVWXl
* Apache对8k文件的处理木铎校园 BBS 社区-`8dC_#n[
    Concurrency Level:      500木铎校园 BBS 社区Q0RzxYj;_#f
Time taken for tests:
1c~R*] ?bo0143.109724 seconds木铎校园 BBS 社区d YP2L+m#g2XB!zd]
Complete requests:
AT+va0~)B:Z01000000木铎校园 BBS 社区7i4[,n6Y!DP
 Failed requests:
|)|5u7T2[&[2I mG-i00木铎校园 BBS 社区 fzU8Mz1V Qp
 Write errors:木铎校园 BBS 社区/m%wst [ XSX:Q_i5s z
0木铎校园 BBS 社区ydA;E0H4{zF
Total transferred:
A ` j/m:s0-118426332 bytes木铎校园 BBS 社区B7Uz/d n.G
HTML transferred:木铎校园 BBS 社区el6i&~A8K
-397443072 bytes
%aj8gG)c h0Requests per second:木铎校园 BBS 社区\ AM Jl N&h0w4Gq:kN
6987.65 [#/sec] (mean)
5u,Qk7uE8zI0 Time per request:木铎校园 BBS 社区`,L k C:m/OM/c3o+J
71.555 [ms] (mean)
q:~"V||:_?{0 Time per request:
j+we N7]|o0  0.143 [ms]
6}W [RpZ0 Transfer rate:木铎校园 BBS 社区 {h!m._8t2He
-808.12 [Kbytes/sec] received
S^%n F(g^(O Isi0* 对于16k大小文件的测试
"Hq4Tj%pw9f0* Nginx对16k文件的处理能力木铎校园 BBS 社区!fsr\8f9{
Concurrency Level:
X-X/bQ]CU0500木铎校园 BBS 社区$ZYh8Co|)h5kx
Time taken for tests:木铎校园 BBS 社区fJn:g%B8o%_
219.372311 seconds
dp/Im YC'i0Complete requests:
;~Rki4Mu2d01000000木铎校园 BBS 社区1SrC6G iO%YS?Mk7W
Failed requests:
zs7l [&\+C&O00木铎校园 BBS 社区9d1^W:DW$bR:A
Write errors:
%To8Mx5mV_ C00
b#V o1f;} {h+Hm0Total transferred:木铎校园 BBS 社区-y:{$jjO
-582831676 bytes木铎校园 BBS 社区s$I#D:aPf6{
HTML transferred:木铎校园 BBS 社区| u6pT(GDT
-795832528 bytes木铎校园 BBS 社区Bf4tI;o }u
Requests per second:木铎校园 BBS 社区 o Qt1R v&yf+S
4558.46 [#/sec] (mean)
w@FNl4m2k+Y`z0Time per request:
Z _ L!X5[ b ^(x0109.686 [ms] (mean)木铎校园 BBS 社区6htK| L{L
Time per request:
8d{7G d)RY.[wc*L00.219 [ms]木铎校园 BBS 社区(f2j}r7}G4q x%l$|
Transfer rate:
'y {t)yRJ&p6j0-2594.54 [Kbytes/sec] received木铎校园 BBS 社区 Sjk5g;o"? GbE$z4[
* Apache对16k文件的处理能力
S,T$bb5g0Concurrency Level:木铎校园 BBS 社区)x Cr I4RB E
500
lo+vd/ul VO0Time taken for tests:
5Fk3xjb;n/N P0198.434243 seconds木铎校园 BBS 社区7E%lr2f |D
Complete requests:
*GxwC6f+N01000000木铎校园 BBS 社区H-Cs2tc(I|
Failed requests:木铎校园 BBS 社区'sQ0?ss
0木铎校园 BBS 社区5?k%s?BCxR&a&_
Write errors:木铎校园 BBS 社区yto q"k5ctQ
0木铎校园 BBS 社区o _+qf2W$i
Total transferred:木铎校园 BBS 社区i$q |Y&l&M
-515738792 bytes木铎校园 BBS 社区"ujh;dB{q8T
HTML transferred:木铎校园 BBS 社区*SFXYw)s\h
-795741312 bytes木铎校园 BBS 社区fG_U"H
Requests per second:
IA)Ztu1A M:[05039.45 [#/sec] (mean)
x'MX#@$[s-H5V0Time per request:
@8Rs$Z6FoF099.217 [ms] (mean)木铎校园 BBS 社区.H(vu~S y{:u|N
Time per request:木铎校园 BBS 社区6Bm/p8vz"eI
0.198 [ms]木铎校园 BBS 社区/B*|o1u3O c5o#W
Transfer rate:
sY"F5]%N^yZ$S0-2538.13 [Kbytes/sec] received

&si;f.cSE0木铎校园 BBS 社区#R-a1J*y ]u|

综合分析:木铎校园 BBS 社区,]$W H\Q.kg#k
 本次测试并不太成功,由于准备的不足,3台autobench+htterf带来的负载并不能够给web server带来足够的压力,这也是后来测试更小文件的时候使用ab的原因。
U;n${Q0G v;T$VG y |0 Ab和webbench这两个工具简单易用,测试时间短,并且能够带来充足的压力。建议以后在测试中,如果不能够有足够多的机器,尽量不要使用autobench。木铎校园 BBS 社区 XYvW/h\ u
 尽管测试的结果同我们的预期有较大的差别,我在回顾整个测试过程,测试数据还是比较可信的。对于目前提供丰富多彩内容的web服务来讲,nginx的性能并不比apache with mpm=worker的性能要好,但是其稳定性及对服务器资源的节约倒是为让人眼前一亮。其配置的简洁性也大大好于apache。
sh"_3Y K8P@0 对于lighttpd,尽管在测试小文件时没有再考虑,是因为lighttpd的1.4版本中的proxy存在严重的问题,并且,个人觉得相比nginx,lighttpd不够快,相比apache,lighttpd也谈不上特别节省资源。木铎校园 BBS 社区2] T],Fr7|
 
?5t8K4dje,i0k,Ig0建议:
@`$G ]y]"b(g0 对于服务器性能优良,对apache熟悉且不讨厌其较为臃肿的身材的情况下,尽可能的使用apache,其应对静态文件的服务性能还是很优越的。木铎校园 BBS 社区,xnD@4r N(K*Iz
 而对于访问量较大,文件较小,服务器性能一般的用户,可以多考虑使用nginx。

*za5~Pk9L6T|%p8l0木铎校园 BBS 社区YDjoW&N6s4F+HJ

其他:木铎校园 BBS 社区A Q { [+WX} Y
测试过程中没有特别的脚本或程序,上面提到均可以在相关的网站上下载,文档中不特别说明。木铎校园 BBS 社区8T'[1lI7KC.nl@
附录中提供了一些简单的优化配置,相信可以满足大多数应用的需要

[Vdj9m+d0木铎校园 BBS 社区6Dhc4R1xav*C

Nginx:
D'@1PXux#X1r0worker_processes  32;木铎校园 BBS 社区,]0bA,R,x(k{
events {
Z"E^1tqrqs0    use epoll;木铎校园 BBS 社区Dm)A6z$\2HA
    worker_connections  1024;
%@[sfz6V4p-P;K0}
[7F8ar#eTa(S0http {木铎校园 BBS 社区etI:y'k$V:H;c
    include       conf/mime.types;木铎校园 BBS 社区8pCle1[+mY L
    default_type  application/octet-stream;木铎校园 BBS 社区.bQ"J)L? b

V;v6x3m(E%lB0    log_format  main  '$remote_addr - $remote_user [$time_local] $request '
j V1Qva,iDY X0                      '"$status" $body_bytes_sent "$http_referer" '
m`7lq/D#a#r0                      '"$http_user_agent" "$http_x_forwarded_for"';木铎校园 BBS 社区.a3n?%O9w4H[0z+eDP

X9^;?Dr"m.G0    access_log  logs/access.log  main;木铎校园 BBS 社区 b\l*~Rv

7IBL1hy0    sendfile        on;
+v#jW4d;F0^HT0    #tcp_nopush     on;木铎校园 BBS 社区G,pI? sN:^'j:p

k AkJW*U;t0h0    #keepalive_timeout  0;
L1@.W`rV-c0    keepalive_timeout  65;木铎校园 BBS 社区3O#o9t$^Q)^ B0Pa_D

木铎校园 BBS 社区@0vrZ^L&QI4Z

    gzip  on;

g8h C\F8h Q6lI|q0

|Q'i(@:r/w0    server {木铎校园 BBS 社区W`6d(j0o4p8w,\
        listen       80;
#S8s!G \x8c0        server_name  localhost;

%D+^E4\u0木铎校园 BBS 社区;c6ad SHX

        #charset koi8-r;

$\4tK9HP't}8l0

Ea_r0MMi0        #access_log  logs/host.access.log  main;木铎校园 BBS 社区m?N0K |7sf{

木铎校园 BBS 社区+mJs[(r2F$F1D

        location / {
5]#feAs/Tp^"]0            root   html;木铎校园 BBS 社区YP|/[.i)O(B7a
            index  index.html index.htm;木铎校园 BBS 社区2I+Tkr(I;O.s^YV
        }

$f d*ks{Z0

-i8`uRB2cY0Apache:

%{"M.K;i[}JG0木铎校园 BBS 社区,T6]5J:f:C4E `3X{

<IfModule mpm_worker_module>木铎校园 BBS 社区i9Qa!`5tv? a
    ServerLimit 50木铎校园 BBS 社区7~&C*y:md2x2b
    ThreadLimit 200
Uy7r c(K0M;I@O0    StartServers         4木铎校园 BBS 社区5C h,p1};{4N3O!g
    MaxClients           4096木铎校园 BBS 社区V`0z-a KS3Pij
    MinSpareThreads      25木铎校园 BBS 社区$gn7J@7eML
    MaxSpareThreads      75木铎校园 BBS 社区0L.A#K+M&joZ/~'F
    ThreadsPerChild      128木铎校园 BBS 社区a SW7J|-p
    MaxRequestsPerChild   0木铎校园 BBS 社区MI%o8tpS
</IfModule>木铎校园 BBS 社区(~5OB0o!x t

木铎校园 BBS 社区:_DO3}.l

 木铎校园 BBS 社区*Z6J]#s4w8U

{X6_vrY3_0 

3w&j$I*v^#H7w0

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 :( :)

关于作者