nginx apache lighttpd 静态文件 性能测试

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

4NgCfd&w0H(e0网络上也有其他的测试结果,但是对nginxapache的对比都是针对小文件的(44 byte,apache安装时自带的index.htm),而没有考虑到现在web应用中大多数静态文件的size是远远大于44byte的。木铎校园 BBS 社区+OuI4`7M O

木铎校园 BBS 社区w0B$UR d7]&B9}

另一个测试结果见:http://www.muduo.net/index.php/8974/viewspace-136293.html木铎校园 BBS 社区,]6g&|u+_+vI@8P

r0DKaH0是我转来的

g^ g?&R ]f5~`^g2?0木铎校园 BBS 社区 m+\w8e z9Y"T;b

木铎校园 BBS 社区 X&[;z'u&bvX
WEB server 测试
6@_6|{F5Pl0测试目的:木铎校园 BBS 社区e.g k6AJDu(C
  Web Servers  nginx、perlbal、apache、lighttpd (目前只测了apache和nginx,lighttpd做了部分测试)
oHTmi0Q2y4pL0 测试通过上述4种web server,评估其访问静态文件时速度及做代理访问的速度(代理服务性能未作测试)木铎校园 BBS 社区Z m&]%@Qw2C
测试工具及平台:木铎校园 BBS 社区Y9E1_~T l:}:JT
 apache bench木铎校园 BBS 社区U&{l%b5p[`[Y&i
 autobench
^ U%H.w7k TX N0 httperf木铎校园 BBS 社区,M}u.B'j!lz,|v7Z-O
 webbench木铎校园 BBS 社区k's*g9c,DT2m5{
 3台Dell 1950(4核2Xeon3.0GHz / 2Gmem / 146G 10k rpm disk):server1、server2、server3、server5
Z3v7v\#p6m,P0 server1作为web server,处理从server2 、server3 及server5发来的web请求
$tW nrT&E0测试策略
'`:w+t m Lv0* 根据应用特点,不使用web server对动态页面的支持功能,所以,所有的web server编译时不增加对动态应用的支持
5[&p1`U-T0* 在上一条的基础上,尽可能增加web server本身的优化措施,如:cache等
` M9lVoD3A2p!w0测试步骤:木铎校园 BBS 社区\}#~ ?7?4x-w
    测试访问静态文件的速度:
@G ~$Z'@N$\1me}01) 在server1手工编译上述4中web server,并分别生成如下大小文件供测试使用(44byte,1k,4k,8k,16k,32k,128k,512k,1024k,2048k,5120k),单位byte,如需要可再增加对更大文件的测试木铎校园 BBS 社区O A)u:nlYi2v
2) 配置并优化web server,具体配置见附录
"r6l_.p(Rt w,p03) 测试并取得数据木铎校园 BBS 社区Qdc,J"H
测试数据及简单分析木铎校园 BBS 社区&c`M#VZ3j0h@
 说明:由于测试设计的问题,测试先对16k byte 以上的文件进行的测试,通过工具httperf+autobenche,取得数据如下:木铎校园 BBS 社区*k7f[%VL1lL_a
测试命令:木铎校园 BBS 社区$y(]T(i/EP(e
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
A6~u8cd7ls0* 对 size=16K 文件的处理能力木铎校园 BBS 社区+dQ)y.sp
* Nginx server对16k文件的处理结果木铎校园 BBS 社区VQ)f7hs-_7DA

/z4P1L#@{Uq!k"nc0* Apache 2.2 对 16k 文件的处理结果

'xbOD S^\w0木铎校园 BBS 社区 G}*h+vdK+yR

* Lighttpd对16k文件的处理结果木铎校园 BBS 社区HL_N^ N)W)E

木铎校园 BBS 社区3jxDaM"p

分析:
5K6XDK~-x5hzW0* 从上图可以看出,对与size=16k的文件,ngxin的性能比apache 2.2 mpm=worker方式性能不能算优越,相反,对于并发访问量大于16k的时候,apache的承载能力要比nginx的性能略强,而lighttpd是最强的
PB1V uIw^0* 由于测试客户机的限制,单台客户机并发访问量达到极限,导致大并发测试压力无法达到。
rj7ZO+py-J0* 对32k文件的处理能力
w$} }$A+G Vvo0* Nginx对32k文件的处理能力木铎校园 BBS 社区K2j@a7RR?

3J0^9n'@-`W,e0* Apahce 2.2 mpm=worker对32k文件的处理能力木铎校园 BBS 社区@9Dv;C5Qt[

3iO^V1LwH0* Lighttpd对32k文件的处理能力木铎校园 BBS 社区g1xy

3E3? p H9`0分析:木铎校园 BBS 社区"v7Xq"[|pxa7f
 从上图可以看出nginx的性能曲线比apache的稳定的多,并且在大并发访问量的情况下基本没有性能衰减
o5`q.Mq;Y nz4|0* 对128k文件的处理能力木铎校园 BBS 社区`x#HXh
* Ngxinx对128k文件处理能力木铎校园 BBS 社区"x4G"|:R8`x)_'f"B+z&\

i6eE2K0A/V a6}0* Apache2.2木铎校园 BBS 社区,?I6T@ |;o$V6j}

木铎校园 BBS 社区1{{)t%V!]HkIEo

* Lighttpd

"? zKB"@r0

}p4y3sN6D0分析:nginx在大并发访问量的情况下,性能能够迅速上升,并表现稳定
/^M;A!hZl0* 对512k文件的处理能力木铎校园 BBS 社区6f,a-Q*Ir6R
* Nginx对512k文件的处理能力

H+Z F/R d5R/{0木铎校园 BBS 社区Py4TaL

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

f7Y"b];~Q0

1kUw Z;C:x2qR2Yoh0* Lighttpd对512k文件的处理能力

.\ ZD/@u p%A\0木铎校园 BBS 社区Wy I'zy

 分析:对512k的稍大文件,apache的性能表现是最好的,稳定、高效;nginx的性能无论在处理效率还是稳定性上略逊于apache,但较lighttpd稍好。
,mt wk?'Xs0* 对1024k文件的处理能力木铎校园 BBS 社区|0L Mh7h
* Nginx对1024k文件的处理能力木铎校园 BBS 社区Fq&K5sk%E^$n

木铎校园 BBS 社区,i!z+Uay(]

* Apache2.2对1024k文件的处理能力木铎校园 BBS 社区/y [Q V7o}F

木铎校园 BBS 社区`+TYi%k0w

* Lighttpd对1024k文件的处理能力木铎校园 BBS 社区p.?ZwS YlB&sv

$`3~)km"U H,^0分析:对于大流量(带宽)的访问,apache的负载能力是最好的,优势明显。而nginx比lighttpd略好一点
{ TY5AR+B3L.@Hh0* 对2048k文件的处理能力
"X,p klR"K0* Ngxin对2048k文件的处理能力

d}|['j{H3~-q0

|o1i Ss4X/i-D0* Apache2.2对2048k文件的处理能力

X+? izl BR0木铎校园 BBS 社区 ek%`?x Y L

* Lighttpd对2048k文件的处理能力木铎校园 BBS 社区t*KG`/z~ z

木铎校园 BBS 社区2zI7_'} z:r+r(Ug MI

分析:同1024k文件
|8gqpI0* 对5120k文件的处理能力
;{7L)W!@}$aU-q0* Nginx对5120k文件的处理能力

B^V)Y R'}@9M0

+U:\Uo^2r'Y4o1`?0* Apache2.2对5120k文件的处理能力

z[Ba)xO$`0木铎校园 BBS 社区$Gy"h-x$Rz7r

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

/\5U8cJE;P.x0木铎校园 BBS 社区1k4E#Co1pV,p YHH

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

Eq"L h5s7? ^$|~D+JL0

%KFl&{1^%Q Ul0对小于16k文件的测试
wd\DV0S8{rr5\0 说明:这个测试开始的时候并没有考虑size< 16k文件的情况,因为根据web应用的特点及idisk应用,考虑用户上传及下载的文件 > 16k的情况应该在大多数。但是由于上面的测试所分析到的结果同网上公布关于nginx及lighttpd的性能对比数据并不吻合,nginx的性能低于本人及lcq的预期,所以,增加了对16k以下文件的测试。同时,由于考虑到测试客户端服务器数量的不够,httperf触发到web server的压力不够,改使用使用apache bench这个测试工具,测试参数如下:木铎校园 BBS 社区XoY Il
ab -n 100000 -c 128http://192.168.1.249/$file.html
lT#tA]\7?&Y/E#`iO t:Q0Server Hostname:木铎校园 BBS 社区)E0N0Q"pgOX
192.168.1.249木铎校园 BBS 社区z%c7o{,bHQ'w2e D+M+M
Server Port:
2Z lm1\"m6|080

"WJ*R7P P;r+L0

5g&T(q+dn&Jk0木铎校园 BBS 社区 k5Cy}'^$`i9yj7Xp
Document Path:
s Imc0]E0/index.html木铎校园 BBS 社区eC.Hp1~8D/ZMw
Document Length:木铎校园 BBS 社区S6hOgv#z.K6?q6o
44 bytes

/P0Xi/^I"BW | o0

4MO!R/D%e#c0木铎校园 BBS 社区@/]+W!]9a a|
* 对于44字节的文件(apache安装包中的自带文件index.html)木铎校园 BBS 社区Z7tOw2pFnI s
* Nginx 对44byte文件的处理能力
k"`*z bZ\3a,p]0Complete requests:木铎校园 BBS 社区"a eK0u|
100000
TN6~K'T3b2@8a-f!Bg8e0Failed requests:木铎校园 BBS 社区 I-L o8uZCx7n#M
0木铎校园 BBS 社区~1a%t.UET!eE!s7S
Write errors:
?k:_I eE+S:n00
#Ihq\$Z0Total transferred:      25401778 bytes木铎校园 BBS 社区4hE{+mM S
HTML transferred:       4400308 bytes
h$^a7bB0Requests per second:    7816.66 [#/sec] (mean)木铎校园 BBS 社区{*cOO.o;U'F9XVa
Time per request:       16.375 [ms] (mean)
w DyXm5|B0Time per request:       0.128 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区Cc d:wUmt
Transfer rate:          1939.00 [Kbytes/sec] received

&S'P8S'k8E0?9^0木铎校园 BBS 社区kb'F_(vHI8ef

* Apache2.2对44 byte文件的处理能力
/r3`3X3o ?)H~0Concurrency Level:
r&a$AN'[P,`W0500木铎校园 BBS 社区V2`P)["q
Time taken for tests:木铎校园 BBS 社区d2m'v)sB1\;Pwm#?
243.420213 seconds
a4t-~w9M!HM0Complete requests:木铎校园 BBS 社区;yh,EU-A)d(q
1000000
OJtq'`n6nR0Failed requests:
7y$q/_)LPwlT7_00木铎校园 BBS 社区&T z ]H5cl^DIF8L1L
Write errors:木铎校园 BBS 社区W[M\|$y:q@fo
0
(?z7Bs3lD5n,~-H0Total transferred:
:b&tG3r1jO9?!OCi v0319000319 bytes木铎校园 BBS 社区 ] wa*|;bq/GH2H
HTML transferred:
4dhwe!R,e0Iv{G044000044 bytes木铎校园 BBS 社区p? ?B4d1h5OG
Requests per second:
qS2}U8yi0\tV04108.12 [#/sec] (mean)木铎校园 BBS 社区+C4We+Z;ZJ'{pJ
Time per request:木铎校园 BBS 社区k+M{*OEDo2R/}
121.710 [ms] (mean)
xS%U+{L3|0Time per request:
fh#d@W00.243 [ms] (mean, across all concurrent requests)
"VySCU0Transfer rate:
[&U;[8~#N*w!O01279.77 [Kbytes/sec] received木铎校园 BBS 社区 _r#q6a rQ-At,?
* 对128byte的文件木铎校园 BBS 社区\!|,V&Djs)Py]x
* Nginx对128byte文件处理能力木铎校园 BBS 社区7N [%`1M;Y,s1|
Concurrency Level:
*y[Bi+I:]1w^6V{0500
KdI5e)iC9I0Time taken for tests:木铎校园 BBS 社区(K@eoWj$w7V.U(OFA
123.838121 seconds
JY9@u s:SwQ0Complete requests:木铎校园 BBS 社区l he\{Lq
1000000
rT,wyF)@3P;? j n$z0Failed requests:
h*Nrr"V{\ p7d00木铎校园 BBS 社区7J [t!BT7U-\GS
Write errors:
o wU6L[s m d00木铎校园 BBS 社区s1V)M7g,k.u)a*j(o8~ {E
Total transferred:木铎校园 BBS 社区:~MW}qi
339000000 bytes木铎校园 BBS 社区0i#`-f$e"K0e4Kp
HTML transferred:
2N#}/n q ^9u5_O0128000000 bytes木铎校园 BBS 社区l [)}:Q ZXJ/L9p2j
Requests per second:木铎校园 BBS 社区{9{0EG;bKry!`*B+R
8075.06 [#/sec] (mean)
$] Mtd){0Time per request:木铎校园 BBS 社区hNYp3Ui
61.919 [ms] (mean)木铎校园 BBS 社区+EU6IEe-vH0_ f3Wo
Time per request:
9j}r R7d!l;Y)m l00.124 [ms] (mean, across all concurrent木铎校园 BBS 社区X+B&j5LB@
requests)Transfer rate:木铎校园 BBS 社区;m9[ x"|v/H
2673.28 [Kbytes/sec] received

p9N2[['g{)[g'}0

_o9T_ S$A(_0* Apache对128byte文件处理能力木铎校园 BBS 社区-K8{$[F |bkg
* 对512 byte文件的处理能力木铎校园 BBS 社区8UgR8OMv |Q
* Nginx对512 byte文件的处理能力木铎校园 BBS 社区#|4A/W_)Sfb
Concurrency Level:
%Eia sX#E'E0500木铎校园 BBS 社区:un"zK8NC
Time taken for tests:  
!g"ORCQ$_-p&\0124.590902木铎校园 BBS 社区#^V2D!hB$E8vw
secondsComplete requests:     木铎校园 BBS 社区~C{!qO?m1z9\
1000000木铎校园 BBS 社区g*b$|G0[ Q"r'r j1D

}u{njZ0Failed requests:       
b iIJ]Ky00木铎校园 BBS 社区0v5T!sJehX
Write errors:
Z s.Z;s2`#a l%MJh00木铎校园 BBS 社区 n)M-k/Cx1q;J
Total transferred:木铎校园 BBS 社区P CJ.L1Ss}
723000000 bytes木铎校园 BBS 社区/A5p UMm ]@!w.sFd4^
HTML transferred:木铎校园 BBS 社区2St4S LQL+|
512000000 bytes
)An ND&v6i:U |+C0Requests per second:
6_|-~+k]_w"Y08026.27 [#/sec] (mean)
$WUw(J wmH0Time per request:
x,XbP${062.295 [ms] (mean)木铎校园 BBS 社区P0R/B%M{!}Z
Time per request:木铎校园 BBS 社区|1j{Nq3X%J)CE
0.125 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区N*TH&cqi0I1^
Transfer rate:木铎校园 BBS 社区bb-G5Of
 5666.98 [Kbytes/sec] received木铎校园 BBS 社区`~'eYdXy4ww~

] i.[vNX0* Apache对512byte文件的处理能力
?E$U iGa;o6{0Concurrency Level:
+g*WLYJX0500
L`I2q)c0Time taken for tests:
JA7]3y$?Y0117.321116 seconds木铎校园 BBS 社区f{HDE t_u*e/[
Complete requests:
#U,b,u1I#Lj01000000
e5Xf{WiW|8L0Failed requests:
:c+@1lr4ob00木铎校园 BBS 社区8P`Yl*KydP
Write errors:木铎校园 BBS 社区f*xe+j B A
0木铎校园 BBS 社区q6D(X V~l8s
Total transferred:木铎校园 BBS 社区 c_hZ3\h'q)z
789109671 bytes木铎校园 BBS 社区:g\k.l(_V;V
HTML transferred:
6rH`(e,}g0512071168 bytes
\l PQ*p:A0Requests per second:木铎校园 BBS 社区(tpQwG
8523.61 [#/sec] (mean)木铎校园 BBS 社区MQ0ng y\E
Time per request:
C'g]X*gwp y058.661 [ms] (mean)木铎校园 BBS 社区@"uqkw.F
Time per request:木铎校园 BBS 社区 v)Lv1X9TMfIO:B!e"@
0.117 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区:QaN*F LIg
Transfer rate:
;k-Sw S/|7IV%P06568.42 [Kbytes/sec] received
|jmVg$]T4k(rw.n0* 对于1k的文件木铎校园 BBS 社区W} p3wqX*C
* Nginx对1k文件的处理能力木铎校园 BBS 社区,o _#o*a.J_fy9U
Concurrency Level:
h#_1Z u'wD e0500木铎校园 BBS 社区$U2S5b\K0Ss+s
Time taken for tests:木铎校园 BBS 社区|c h9[ s S}2Z%d
128.156121 seconds
3G6p u'~.L/J3~0Complete requests:木铎校园 BBS 社区 brjvXAa
1000000木铎校园 BBS 社区y4BW1e4\8EAH1b
Failed requests:木铎校园 BBS 社区&V._#`8f{.A
0
oL}N$] };n0Write errors:木铎校园 BBS 社区/Ui DATR
0
5axn)Xa(F DP#l0Total transferred:
+].?\Fl^DqOh8~6M01236006180 bytes木铎校园 BBS 社区4f!LS'{Jh
HTML transferred:木铎校园 BBS 社区"|'~#`oq:GB.AQ
1024005120 bytes木铎校园 BBS 社区4g9qc\ N1c9]6J
Requests per second:木铎校园 BBS 社区f I]+dbD6F/E3~
7802.98 [#/sec] (mean)
8]1i@B$A:c_1W0Time per request:
t-p[w%x{*o'y064.078 [ms] (mean)木铎校园 BBS 社区1Hi8I'Nl.o"jj/b
Time per request:木铎校园 BBS 社区 N5bL;w;y \6} M#IXq
0.128 [ms] (mean, across all concurrent requests)
v5KBrO N0Transfer rate:木铎校园 BBS 社区!]1H$BnH$h.N4ZDa
9418.49 [Kbytes/sec] received
%F5FQj6O0X_+bL0* Apache2.2对1k文件的处理能力
3L ~/GnFR0Concurrency Level:
A T*EuX"\0500木铎校园 BBS 社区 r)vp%u_9[5\%X
Time taken for tests:木铎校园 BBS 社区3\iS-o)}
114.995165 seconds
3Q\#cI0h_&H0Complete requests:木铎校园 BBS 社区Wj)N R.H]
1000000木铎校园 BBS 社区0BTOn I%|,r9p3`*|^{u
Failed requests:
$aP"B%SU*p&v9lZ$v:vI00
U~7LM-H%G#V0Write errors:
&iZcK(R@)@'D1j/YP00木铎校园 BBS 社区F [\%dT
Total transferred:
aa0z"]7Di/B V01302243474 bytes木铎校园 BBS 社区jkZ.f/cpHR
HTML transferred:
y%XR0^,cf01024191488 bytes
__IJd1[zt0Requests per second:木铎校园 BBS 社区.\J dB\)z
8696.02 [#/sec] (mean)
G$b%|~X KN0Time per request:
1GM vo9]2A-I057.498 [ms] (mean)
.np-kbVK!G)}*Q0Time per request:木铎校园 BBS 社区efk.JG#Z
0.115 [ms] (mean, across all concurrent木铎校园 BBS 社区+PcH6oj~]
requests)木铎校园 BBS 社区&Wav(F2j F
Transfer rate:木铎校园 BBS 社区f0s(\#[P0Nt0C
11058.92 [Kbytes/sec] received

@/xEh,wv#W'e0木铎校园 BBS 社区 ?'s|7ba@g2^CL.\ ~

* 对于4k 的文件
nx#ezpbX1}2N0* Nginx处理4k文件
!X*f5NX8b2C,G)n0Concurrency Level:
s$|v%_H ~,`0500木铎校园 BBS 社区2^%wDwl
Time taken for tests:
H5r9pmX_o0135.155806 seconds木铎校园 BBS 社区I$a,H.U(IT*d
Complete requests:木铎校园 BBS 社区:SEN*VeNS
1000000
_,C-w*L,w4p @@%U0Failed requests:木铎校园 BBS 社区Y o7GP \6E
0
7Y`E+EM7o` m8H0Write errors:
{1\/cgTv4J)\E7E@00
dN0WSn}y3O |0Total transferred:
"|:\gkFB,?013032916 bytes
H$u4r;\&j2Os0HTML transferred:
8DpA)mm$K3hH5[w0-198967296 bytes
9y-|.J z,RhK;Z_,D U0Requests per second:
T:{C0Vyq^07398.87 [#/sec] (mean)
y!J/i+yGP0Time per request:木铎校园 BBS 社区5m^5q*ZKj
67.578 [ms] (mean)
M*`'S1V5\)c-i1a0Time per request:
z} @/VsP00.135 [ms] (mean, across all concurrent木铎校园 BBS 社区'UV-^K`FIj(T
requests)Transfer rate:木铎校园 BBS 社区kl5W2[}oV+T lE
94.17 [Kbytes/sec] received木铎校园 BBS 社区"I b,K(o*XR'G%^G

木铎校园 BBS 社区8LP/[|UZA

* Apache2.2处理4k大小的文件
$ie{y^:n d3cwJ A6E{0Concurrency Level:
%dh+GD;k U-[0500
b-j8vH s\6It0Time taken for tests:木铎校园 BBS 社区lH l^4z/WJ+}`
126.370099 seconds
-x3Vs#Z/R D1Hx Ra0Complete requests:
!`y+d&h k+m)S+X01000000木铎校园 BBS 社区P)kw%K1OjPj
Failed requests:
c-I3J|(~EE r:d00木铎校园 BBS 社区D+cQA!~;y C
   Write errors:
!S5|](B r8u00
)g8?!AX~z)N S1k0Total transferred:
;_ d[)wnx4w080238329 bytes木铎校园 BBS 社区J9prV^-{^
HTML transferred:木铎校园 BBS 社区F o:C%Z}0h O
-198774784 bytes木铎校园 BBS 社区6`&bwD$F$N'^
Requests per second:
p3cu0s(Te"g07913.26 [#/sec] (mean)木铎校园 BBS 社区1jHUL|L%]4Q I'b
Time per request:
.R,~_"S_Y!S0D mX063.185 [ms] (mean)木铎校园 BBS 社区aqzFnsZ#?
Time per request:
\q1`Yt00.126 [ms] (mean, across all concurrent requests)木铎校园 BBS 社区,n2S y Y:S%gc6UG
Transfer rate:
h `y!M7~.z5t0   620.06 [Kbytes/sec] received木铎校园 BBS 社区7YplC^ X _*R
* 对于8k大小的文件
P.JJ;vD Da0* Nginx对8k大小的文件的处理木铎校园 BBS 社区m1A$d5c/YU$l}
    Concurrency Level:
2E~?+th qr0500木铎校园 BBS 社区a\bs$r G$\X%m
    Time taken for tests:
~p@0y/S A"B0157.287207 seconds
RD t4P4b2e K?0    Complete requests:
|w,NP${.o01000000木铎校园 BBS 社区 A VQg6pKj
    Failed requests:木铎校园 BBS 社区e*si&^.yMEPe
0
i Kt!]g#a0    Write errors:
R}Q#Nl lu'Gf00木铎校园 BBS 社区g@5_bg#]0r'i}
    Total transferred:木铎校园 BBS 社区Q?&w igI di-O*v
-185925480 bytes
gN3UeN"`d ?0    HTML transferred:
+G'L(L9m`xrx0-397925904 bytes木铎校园 BBS 社区.s/XWzc&}(T
    Requests per second:木铎校园 BBS 社区 H?Nj:hQ g
6357.80 [#/sec] (mean)木铎校园 BBS 社区XyMM0ug$F{b
    Time per request:木铎校园 BBS 社区 n3tyeEN!^!@L
78.644 [ms] (mean)木铎校园 BBS 社区"h6b{1m [;E$_RC
    Time per request:木铎校园 BBS 社区"N4c*CVuU.k `a*H:Jc
0.157 [ms]
G%q7?9[{)t0  Transfer rate:
{0R5D'B*by0n0  木铎校园 BBS 社区&O!X&n7ui{9|7}3LS
-1154.37 [Kbytes/sec]木铎校园 BBS 社区1^\ c1H/ed
received木铎校园 BBS 社区*g5HJ0I7Z1f/Bv_'k*K-N
* Apache对8k文件的处理
#n.D6YE _7Ai?!g}0    Concurrency Level:      500木铎校园 BBS 社区-rnx`~,R%{X
Time taken for tests:木铎校园 BBS 社区#V${7o4H?h
143.109724 seconds木铎校园 BBS 社区)C$LC5`t
Complete requests:木铎校园 BBS 社区1?Wq'j;@5S[+a Xc
1000000
^PB/M_0 Failed requests:
+fNUXA00
+Re L0P&zS5?0 Write errors:
w.ql(i\#Jd/{00木铎校园 BBS 社区 idZ!a%cd
Total transferred:
\Ke(Na:v&k0-118426332 bytes
5G2u&Z m+l o^0HTML transferred:
dy"~3u:m R A0-397443072 bytes木铎校园 BBS 社区ig+E(m'pXQ)~^)wx$w:D
Requests per second:木铎校园 BBS 社区)E1i+]S%E{+_`5Q5k
6987.65 [#/sec] (mean)木铎校园 BBS 社区%Y*lZ#g|8SY BpjW6C
 Time per request:
Gr5x;P"{srf/x h071.555 [ms] (mean)木铎校园 BBS 社区Ey G[ tQ].h?*{
 Time per request:
c,s5Si!W:kV;N0  0.143 [ms]木铎校园 BBS 社区yl[3Y2h9_U+I
 Transfer rate:
~o}6|%^0-808.12 [Kbytes/sec] received木铎校园 BBS 社区9V}&f Jx
* 对于16k大小文件的测试
n*G-oV AD|m9t0* Nginx对16k文件的处理能力木铎校园 BBS 社区/eF\(DY
Concurrency Level:木铎校园 BBS 社区7f_:LQe R'n8pH
500木铎校园 BBS 社区2V9d/g ?t7E1HK
Time taken for tests:木铎校园 BBS 社区\h+B]*R(X
219.372311 seconds木铎校园 BBS 社区 GYJ$EZ6KZ?
Complete requests:
F`d} Ka3L01000000木铎校园 BBS 社区pc#D)T m f C5PU7A
Failed requests:
@(LR;CSL#_%q00
}&pea9H&zL0Write errors:木铎校园 BBS 社区TF_m5b
0木铎校园 BBS 社区A?0T Ei6?5n"b2D"{
Total transferred:木铎校园 BBS 社区 i1^X[dhb1|~
-582831676 bytes木铎校园 BBS 社区QQ3j2j6S4?
HTML transferred:
Ng-hw"uUQ^0-795832528 bytes木铎校园 BBS 社区Uw!A Hn+E f
Requests per second:
R\ik1A z%P04558.46 [#/sec] (mean)木铎校园 BBS 社区k @ H$qO*P r:K+`
Time per request:
K \9f:@hJ Of8f B0109.686 [ms] (mean)木铎校园 BBS 社区U7R5WqL C2[[jt:B7A
Time per request:木铎校园 BBS 社区!o+ESt oDc
0.219 [ms]
R!{0deYU,R.A)D0Transfer rate:木铎校园 BBS 社区7i0ZC#OQM
-2594.54 [Kbytes/sec] received
:U7zd:mj W1X)z a0* Apache对16k文件的处理能力木铎校园 BBS 社区[!{"b7K#v'A3T(i
Concurrency Level:
)|;i(WKt3D(z rfI0500
4cAv7J:R0Time taken for tests:木铎校园 BBS 社区\+d'V"}?9E!H)c1xR
198.434243 seconds
Nktw2d3H'YTf0Oc0Complete requests:木铎校园 BBS 社区4n d:E @7m;Hn
1000000
^/|q;{'^H7[0Failed requests:
C1owmQ!k D00木铎校园 BBS 社区/HS|$?d8dW:J+f8H
Write errors:
G#cZd3Lj\00木铎校园 BBS 社区witfn%S,j5C
Total transferred:木铎校园 BBS 社区+P!~3l'eu%`:P
-515738792 bytes木铎校园 BBS 社区+Kd7b Tv+|
HTML transferred:木铎校园 BBS 社区]'i"CAl|!C*P
-795741312 bytes
&@n Y |4Kw.k#J0Requests per second:
T4K[M-|3W05039.45 [#/sec] (mean)木铎校园 BBS 社区(f PK tY%a;TU"H#c
Time per request:木铎校园 BBS 社区3q*o!?S:X6].U
99.217 [ms] (mean)木铎校园 BBS 社区2R \T yM&r
Time per request:木铎校园 BBS 社区};H^!S5_$i
0.198 [ms]
i*UsM9k$|hPa0Transfer rate:木铎校园 BBS 社区Y`+UAO `4pKD
-2538.13 [Kbytes/sec] received

!^!?6j?.uY3\0

2KhKM9bnn0Vx0综合分析:
Wm]O U\0 本次测试并不太成功,由于准备的不足,3台autobench+htterf带来的负载并不能够给web server带来足够的压力,这也是后来测试更小文件的时候使用ab的原因。
dmV+Bwb.m0 Ab和webbench这两个工具简单易用,测试时间短,并且能够带来充足的压力。建议以后在测试中,如果不能够有足够多的机器,尽量不要使用autobench。木铎校园 BBS 社区y.^ g"Y d O7Stp9^q
 尽管测试的结果同我们的预期有较大的差别,我在回顾整个测试过程,测试数据还是比较可信的。对于目前提供丰富多彩内容的web服务来讲,nginx的性能并不比apache with mpm=worker的性能要好,但是其稳定性及对服务器资源的节约倒是为让人眼前一亮。其配置的简洁性也大大好于apache。
TB"t8N6G)? p`/q0 对于lighttpd,尽管在测试小文件时没有再考虑,是因为lighttpd的1.4版本中的proxy存在严重的问题,并且,个人觉得相比nginx,lighttpd不够快,相比apache,lighttpd也谈不上特别节省资源。木铎校园 BBS 社区Df YhSD!A ~A
 
XA0QG/{`2js0建议:木铎校园 BBS 社区+H'p ?(p.U
 对于服务器性能优良,对apache熟悉且不讨厌其较为臃肿的身材的情况下,尽可能的使用apache,其应对静态文件的服务性能还是很优越的。木铎校园 BBS 社区_zQ[8yn[8Pri#t
 而对于访问量较大,文件较小,服务器性能一般的用户,可以多考虑使用nginx。

U U)_)S s,G?0木铎校园 BBS 社区`G$W6[6T.`NmB

其他:
cxd/kJ$n/U{0测试过程中没有特别的脚本或程序,上面提到均可以在相关的网站上下载,文档中不特别说明。
&lq%G8MC2o0附录中提供了一些简单的优化配置,相信可以满足大多数应用的需要木铎校园 BBS 社区7S~)Q\}jT!Te&dt

木铎校园 BBS 社区sb+M g-y*{

Nginx:木铎校园 BBS 社区E4@ d3y@M
worker_processes  32;木铎校园 BBS 社区d,R\*qx:qAQ
events {木铎校园 BBS 社区1JK_\ V
    use epoll;木铎校园 BBS 社区H8KH/OKY;_$F9z
    worker_connections  1024;木铎校园 BBS 社区C1`[9[(l)P&{;Y
}
e$Q5qYj Y'N[+[z+?0http {
5QNbcD4eZ rWd0p#{ O0    include       conf/mime.types;木铎校园 BBS 社区s9Y]'Svi'I9]
    default_type  application/octet-stream;

b)y%r,[Y5H-? ]@!yzU!|0木铎校园 BBS 社区0I3OK#Lp7\+T

    log_format  main  '$remote_addr - $remote_user [$time_local] $request '
l+tt!xS4Kg0                      '"$status" $body_bytes_sent "$http_referer" '木铎校园 BBS 社区n$v${Q!|0CG |e
                      '"$http_user_agent" "$http_x_forwarded_for"';

e;S lJ0X:uZh7f0

G{+}E"O!W*{!B0    access_log  logs/access.log  main;

{\U ^)I[#|$R0

e)n4|Hn:]idl I} }0    sendfile        on;木铎校园 BBS 社区 q6g0c/up'd:CWh
    #tcp_nopush     on;木铎校园 BBS 社区+m6CrkG1J@

!H#{+]p }&B2z4m'O0    #keepalive_timeout  0;
WU-wtvvL B.F*N(Q0    keepalive_timeout  65;

;[`.tV)\^.T0木铎校园 BBS 社区S-[i]#gO)[Q

    gzip  on;

}5N9@&V1T#Hh4?4Jg0木铎校园 BBS 社区!K.V+]%OW!x

    server {
d:h`9J Z z/{1bL7rT0        listen       80;
4VPn6N*d|YUg0        server_name  localhost;木铎校园 BBS 社区7g6O%\6Og

r(gI&`I:j F0        #charset koi8-r;

{n'i_/X Q3Z WG)L6s|.l0木铎校园 BBS 社区"?%V-FJ~-V y;^x

        #access_log  logs/host.access.log  main;木铎校园 BBS 社区_b:P5GY/Y'a,Y

木铎校园 BBS 社区$Qj#f A M$CRL

        location / {
[4bflb0            root   html;
&S%n.A)UCS"M,M,E0            index  index.html index.htm;木铎校园 BBS 社区~^RFO3s
        }木铎校园 BBS 社区-]6m uhKM gJ

&l\nJI?V0Apache:木铎校园 BBS 社区 iU^fTh2AL

;D5V@F\0<IfModule mpm_worker_module>木铎校园 BBS 社区*~?]+zId*s_/PE
    ServerLimit 50木铎校园 BBS 社区5GO7W?QY
    ThreadLimit 200
4AF|.F5G]l0    StartServers         4
:Ma5D @"QV*}u0    MaxClients           4096
? F.o/}h8v-`7y3S-h0    MinSpareThreads      25
,Z}O`0I/m0    MaxSpareThreads      75
A.xqt5x0|0    ThreadsPerChild      128木铎校园 BBS 社区&w8H5p5qg
    MaxRequestsPerChild   0木铎校园 BBS 社区kH9l2M-Lz(i+|_$D
</IfModule>

*QU/E`%B\L0

7K?[o,U[h Z l0 

X$?*|;Ex"UhI0

7{:C?%]5ub&@0 木铎校园 BBS 社区C^:O;J Y9a0uHU


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

关于作者