[转载]深入理解Loadrunner中的Browser Emulation
上一篇 / 下一篇 2009-06-16 13:23:39 / 个人分类:测试工具
? { @dG!L0w Z0一:基本介绍51Testing软件测试网b:Hg P9oC y6r6e
51Testing软件测试网w p4VUX"e&_~,g"q,C在Loadrunner的使用中,对于Run-time Settings下的browser emulation设置是比较容易让人产生困惑的地方。下面我们结合sniffer来具体看看每个选项的用途,以及对测试的影响。51Testing软件测试网$|Q9Zm v
"U1N1Z:bauB)t3Q051Testing软件测试网/dZ_u4z'c*f#N)o|
51Testing软件测试网3j5l?"W&A7]!@iBrowser Emulation 图
}b-[.I:v8gs051Testing软件测试网$xqw!n:X,g二:案例和工具51Testing软件测试网 QK7RD$tfm
51Testing软件测试网2lC`2YGyha2U1.测试案例:
j8{d3~FO!viJ4z9s051Testing软件测试网:p![+q"L8tM打开网站首页两次,对比不同Browser Emulation设置下loadrunner的行为,脚本如下。
^ P2P&_)}%} R kgoi0Action()
7`!ka4B ?0?0{51Testing软件测试网^^#U3?vb
web_url("www.primeton.com",51Testing软件测试网s!{ ~V1SR;uK
"URL=http://www.primeton.com/",
Ya5|e`pI#[)k0"Resource=0",
ho:{bh3[$Gz0"RecContentType=text/html",51Testing软件测试网&Le Y([;E%K6E j0?
"Referer=",
co!FO!bF] V*`0"Snapshot=t2.inf",
3^Sj;Sz{E0"Mode=HTML",
lGB4Q(x0LAST);
~p6L&e%k{7\+b[051Testing软件测试网 \,H;nfxC.~S g
web_url("www.primeton.com",
Y*\z t?l'}0"URL=http://www.primeton.com/",51Testing软件测试网kr5Z-}k8H R
"Resource=0",51Testing软件测试网hZ9` PpmB
"RecContentType=text/html",
N&C$N/C I.{0"Referer=",
'K,S-fQ0t#O+n!A0"Snapshot=t2.inf",
!r:{$[c&_pH;e0"Mode=HTML",51Testing软件测试网9krrEw m7U
LAST);51Testing软件测试网-kS2XBa$j*l
51Testing软件测试网?-K:Z_qm
return0;51Testing软件测试网\FP|`%?)DP)U
}
/?%?;C4S @.]h$cz0
N*`8H*k#KK+N7qIn0
f9Dr Y[2[z051Testing软件测试网yT9E"? A2.sniffer工具
5N i8v Ja051Testing软件测试网s$\;c?%R_{7ky6[:i开源工具:Wireshark(前身是ethereal)(www.wireshark.org)
$F(~f9^"gK%L?051Testing软件测试网OnuN.~三:测试过程51Testing软件测试网4O\l {ot
51Testing软件测试网)El4n5E*k @为了方便描述,我们约定用:51Testing软件测试网PlH'K6Ib c~
51Testing软件测试网Q(Z2C2qV[jmsA代表Simulate browser cache51Testing软件测试网{E*D TXR)O?
(QB3s+s xB-}+ao-D0B代表Cache URLs requiring content(HTMLs)
vu+k1FZM/q0n-G6cyk'D&OO0C代表Check for newer versions of stored pages every visit to the page51Testing软件测试网(_iXa%y.c
51Testing软件测试网"J@3\R#m EV RD代表Download non-HTML resources
@iRV _x0:[!\A"g\7^0E代表Simulate a new user on each iteratioin
|4B!OJ6t K;I)E$f0a4wC3xB0F代表Clear cache on each iteration51Testing软件测试网7E s#i%H%mN"_O)M*n;k
)WY?b3f9yhX0首先设置Run Logic中的iteration为2。让Action运行两次,看看循环运行脚本两次,数据包和连接数的变化。
9P6y5^:p0XZ I.Dy n0yQpv%_I,X j01.去掉所有选项51Testing软件测试网#@t4NT2}1Y\
-DJ|8[o1N ]0结果:共获取数据包95个,建立连接1个(红色标识),断开连接1个(蓝色标识)51Testing软件测试网NN#H1QZ!P
No. Time Source Destination Protocol Info
@ZP2JLbP2e01 0.000000 192.168.1.61 203.81.29.137 TCP 13835 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网 In'f%M.j7e5QZ2T
2 0.036053 203.81.29.137 192.168.1.61 TCP http > 13835 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
+wEYM FN Kn092 1.415887 192.168.1.61 203.81.29.137 TCP 13835 > http [FIN, ACK] Seq=817 Ack=71762 Win=257760 Len=0
"r)X @:W3K/?maW094 1.449960 203.81.29.137 192.168.1.61 TCP http > 13835 [FIN, ACK] Seq=71762 Ack=818 Win=16464 Len=051Testing软件测试网o.Q X IK
D]HclT3P0在这种情况下,数据包非常少(没有选择下载资源文件入css,js,gif等),而且你可以看到,打开4次首页,只建立了一个tcp连接。51Testing软件测试网(qGA6k,A9W-p2lI8fc*J
51Testing软件测试网s ]3`8H3[)T这时,你即使选择A,发现数据包的数量量页没有变化,因为cache主要还是针对资源文件
ugA Rd.{p0_"V)rYzCq*k,Gx02.选择E(F)51Testing软件测试网 HQ-LK|
&VfU[#hL|0结果:共获取数据包102个,建立连接2个(红色标识),断开连接2个(蓝色标识)
dX8cB&Iu0a0U!H^0No. Time Source Destination Protocol Info
8a}6BQAS&T MA)Y b01 0.000000 192.168.1.61 203.81.29.137 TCP 13886 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网DF;x-\*J%l
2 0.037013 203.81.29.137 192.168.1.61 TCP http > 13886 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网&|5Ay-{ {?u
48 0.618117 192.168.1.61 203.81.29.137 TCP 13886 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=051Testing软件测试网'A"Rr]7GK9xh
49 0.644106 192.168.1.61 203.81.29.137 TCP 13887 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网"[1_e W\VHb
51 0.651919 203.81.29.137 192.168.1.61 TCP http > 13886 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=0
)?A?,RqE053 0.676377 203.81.29.137 192.168.1.61 TCP http > 13887 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
fZiQ]4q%I3t7x099 1.310379 192.168.1.61 203.81.29.137 TCP 13887 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=0
:T;Kv O7h$TbC0101 1.347949 203.81.29.137 192.168.1.61 TCP http > 13887 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=051Testing软件测试网:Jp[`/[w9u3y
5vM!PQn0在这种情况下,数据包非常少(没有选择下载资源文件入css,js,gif等),对比第一种情况,你会发现它建立了两个连接,这就是E的作用,它对于每次迭代都当成一个新的用户,需要重新建立连接。
)||)g]*A OV1\051Testing软件测试网 _4CS9F:}Ewe0e2B3.选择DE(F)51Testing软件测试网j `:pH%~ },\
#K6H%R-X9b2n'Xk0结果:共获取数据包1782个,建立连接6个(红色标识),断开连接6个(蓝色标识)
:Y4`Kp9@q0No. Time Source Destination Protocol Info
M|x;q#Hil D01 0.000000 192.168.1.61 203.81.29.137 TCP 14016 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
9|-W4ca \Tt \02 0.037911 203.81.29.137 192.168.1.61 TCP http > 14016 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
*T"Vc$E!L/~`Fne06 0.107432 192.168.1.61 203.81.29.137 TCP 14017 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网&J1nwv[\`wA&dL
9 0.141816 203.81.29.137 192.168.1.61 TCP http > 14017 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网`7Wp6Q,[7hLvZ/B
426 3.334889 192.168.1.61 203.81.29.137 TCP 14017 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=051Testing软件测试网C[*L;lk?"m%P4W'K/P
428 3.372253 203.81.29.137 192.168.1.61 TCP http > 14017 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=051Testing软件测试网%]Q1[} [$aN!y5nV,}\#Hq
448 4.395488 192.168.1.61 203.81.29.137 TCP 14020 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网"@,Jj6p_#aKs EF
457 4.439604 203.81.29.137 192.168.1.61 TCP http > 14020 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网gEx*n'X%y
859 7.593610 192.168.1.61 203.81.29.137 TCP 14016 > http [FIN, ACK] Seq=2849 Ack=377404 Win=257484 Len=0
EK ] @&_0870 7.659680 203.81.29.137 192.168.1.61 TCP http > 14016 [FIN, ACK] Seq=377404 Ack=2850 Win=15935 Len=0
.aA F%c.w0888 8.511308 192.168.1.61 203.81.29.137 TCP 14020 > http [FIN, ACK] Seq=1602 Ack=208150 Win=257760 Len=051Testing软件测试网LJ&B}t/QeNe
890 8.549451 203.81.29.137 192.168.1.61 TCP http > 14020 [FIN, ACK] Seq=208150 Ack=1603 Win=17280 Len=051Testing软件测试网%GVn(V*?(vI WJ
892 8.566246 192.168.1.61 203.81.29.137 TCP 14022 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网G*oz8z|UE
893 8.601893 203.81.29.137 192.168.1.61 TCP http > 14022 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网 c_o0K4A-QE H A
899 8.702628 192.168.1.61 203.81.29.137 TCP 14023 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
s:e@q/dB?|0904 8.741807 203.81.29.137 192.168.1.61 TCP http > 14023 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网eKC9g"t"uyXN5n
1298 11.809456 192.168.1.61 203.81.29.137 TCP 14022 > http [FIN, ACK] Seq=1550 Ack=159770 Win=257484 Len=0
:G"f8C^z3bmoccoo5g01310 11.878665 203.81.29.137 192.168.1.61 TCP http > 14022 [FIN, ACK] Seq=159770 Ack=1551 Win=17280 Len=0
-{R%N-_v0OD:R Dyv#[01341 12.771707 192.168.1.61 203.81.29.137 TCP 14026 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网i3k j`Q*p e"@
1348 12.813950 203.81.29.137 192.168.1.61 TCP http > 14026 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网 MW#w I;C7[4m
1759 16.032952 192.168.1.61 203.81.29.137 TCP 14023 > http [FIN, ACK] Seq=3151 Ack=367918 Win=257484 Len=051Testing软件测试网n Gs,\#^Ww6T0h\7J
1761 16.068296 203.81.29.137 192.168.1.61 TCP http > 14023 [FIN, ACK] Seq=367918 Ack=3152 Win=17280 Len=051Testing软件测试网Km/{;Bn+] W q
1779 16.983042 192.168.1.61 203.81.29.137 TCP 14026 > http [FIN, ACK] Seq=1602 Ack=208150 Win=257760 Len=0
%Ugny~}01781 17.016836 203.81.29.137 192.168.1.61 TCP http > 14026 [FIN, ACK] Seq=208150 Ack=1603 Win=17280 Len=051Testing软件测试网]6@W(i8m[w5M7{
51Testing软件测试网Dl$yf1P!~/K!m
51Testing软件测试网kod s@?Ar s在这种情况下,数据包的数量非常大,连接也很多,由于没有cache功能,每次打开页面都需要重新下载所有的资源文件。51Testing软件测试网1?X([nO:['o~
vh s)l$}B#B\x04.选择ADE51Testing软件测试网@E N Y0@%C4P]Xx
,_5}~ Zo6Q}h)qD0结果:共获取数据包525个,建立连接3个,断开连接3个(不再标识了,syn即为连接请求,fin即为断开请求)51Testing软件测试网)F.I`}/y{
No. Time Source Destination Protocol Info51Testing软件测试网&BW,a[#D
1 0.000000 192.168.1.61 203.81.29.137 TCP 14189 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网1w?5jH7bdHt?hZ
2 0.033657 203.81.29.137 192.168.1.61 TCP http > 14189 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
%oj?[,z(k#i-OT}_w06 0.100636 192.168.1.61 203.81.29.137 TCP 14190 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网"fCce*DU u0xm
9 0.133703 203.81.29.137 192.168.1.61 TCP http > 14190 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网5PG1ILUb?
429 3.383748 192.168.1.61 203.81.29.137 TCP 14190 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=0
'gV6X&Z;Um+XT(D7vG0431 3.418556 203.81.29.137 192.168.1.61 TCP http > 14190 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=051Testing软件测试网&MfCV!tV.W
471 4.352071 192.168.1.61 203.81.29.137 TCP 14189 > http [FIN, ACK] Seq=1504 Ack=235576 Win=257760 Len=0
M-Tj)^"JT0472 4.380312 192.168.1.61 203.81.29.137 TCP 14192 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网T3u1bh%P!i/od"b4?
474 4.389778 203.81.29.137 192.168.1.61 TCP http > 14189 [FIN, ACK] Seq=235576 Ack=1505 Win=17280 Len=0
)`R`6K%E9y G;]#BL0476 4.413220 203.81.29.137 192.168.1.61 TCP http > 14192 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网8{%W;i;q4ROm
522 5.078068 192.168.1.61 203.81.29.137 TCP 14192 > http [FIN, ACK] Seq=409 Ack=35882 Win=257760 Len=0
q]sw&j7w*\ Om0524 5.115099 203.81.29.137 192.168.1.61 TCP http > 14192 [FIN, ACK] Seq=35882 Ack=410 Win=16872 Len=0
L"lQ$z]}j0
51Testing软件测试网@jp3VV.bT
S{2XKXH"`;S0在这种情况下,cache发挥作用,数据包对比第三种情况大大减少,几乎等于打开一次首页的数据量(449个数据包),只有第一次打开页面需要完整下载页面(包括资源文件),后面的三次打开页面都只要下载HTML页面(不包括资源文件)。
\ `b\ M051Testing软件测试网CT$v#s |"h51Testing软件测试网IkFt0S:m ? O
51Testing软件测试网k-}Sj3N/V-q5.选择ADEF
U;fxl.pcY5FOW+]051Testing软件测试网;q[$jls%`$` ]#nB选择F之后我们看看结果:共获取数据包942个,建立连接4个,断开连接4个51Testing软件测试网9Ib Z2\5i
No. Time Source Destination Protocol Info51Testing软件测试网9xp7`S#yL\
1 0.000000 192.168.1.61 203.81.29.137 TCP 14292 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网%} ~h v#p m6aGN
2 0.034524 203.81.29.137 192.168.1.61 TCP http > 14292 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网'I8j,j4V-v6j"U
6 0.102314 192.168.1.61 203.81.29.137 TCP 14294 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网,Ik,O J Y(F h,p
9 0.139752 203.81.29.137 192.168.1.61 TCP http > 14294 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=051Testing软件测试网1ua0W u#o Tq[
426 3.791111 192.168.1.61 203.81.29.137 TCP 14294 > http [FIN, ACK] Seq=1852 Ack=150284 Win=257484 Len=0
qE9m)s(\a7uqM0428 3.824970 203.81.29.137 192.168.1.61 TCP http > 14294 [FIN, ACK] Seq=150284 Ack=1853 Win=16998 Len=0
z/]'MwM gE&v0468 6.213276 192.168.1.61 203.81.29.137 TCP 14292 > http [FIN, ACK] Seq=1504 Ack=235576 Win=257760 Len=051Testing软件测试网vDkR,Tz j8Y-J
469 6.244052 192.168.1.61 203.81.29.137 TCP 14297 > http [SYN] Seq=0 Len=0 MSS=1460 WS=2
OI_TU^0471 6.249564 203.81.29.137 192.168.1.61 TCP http > 14292 [FIN, ACK] Seq=235576 Ack=1505 Win=17280 Len=0
kqxN ^7q!_0473 6.279647 203.81.29.137 192.168.1.61 TCP http > 14297 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
9CE3w&IU-YNY:x3@0479 6.374967 192.168.1.61 203.81.29.137 TCP 14298 > http [SYN] Seq=0 Len=0 MSS=1460 WS=251Testing软件测试网o7B+F2pD"v
484 6.419597 203.81.29.137 192.168.1.61 TCP http > 14298 [SYN, ACK] Seq=0 Ack=1 Win=17280 Len=0 MSS=1440 WS=0
:AdA+e"j7B J&P0897 9.858493 192.168.1.61 203.81.29.137 TCP 14297 > http [FIN, ACK] Seq=1550 Ack=159770 Win=257484 Len=0
\iL-C3^0899 9.895188 203.81.29.137 192.168.1.61 TCP http > 14297 [FIN, ACK] Seq=159770 Ack=1551 Win=17280 Len=0
r2z;t.Xn%Y/|0939 12.840029 192.168.1.61 203.81.29.137 TCP 14298 > http [FIN, ACK] Seq=1806 Ack=226090 Win=257760 Len=051Testing软件测试网5J'`6Z4@ hq"@;C
941 12.876120 203.81.29.137 192.168.1.61 TCP http > 14298 [FIN, ACK] Seq=226090 Ack=1807 Win=17076 Len=0
^ RhXH;n0
QV2ATa6`f2q8_N'X0在这种情况下,由于选择了F,在迭代的时候清除了cache,所以每次迭代都需要重新下载资源文件。数据包差不多等于第三种情况的一半,约等于打开两次首页的数据量(449×2个数据包)。
Zs.Q&WE5T0x^6C IA]:pCr06.关于BC选项
.DY \g6a&eU}sO051Testing软件测试网 ](IHC z-H,lC的解释(Check for newer versions of stored pages every visit to the page)
rsf$x)zR,P.M0`%f([VK&S:X0C比较容易理解,类似IE设置中的每次检查,如果不设置C,LR对于已经cache的文件就不会重新向服务器请求,如果选择C,你就可以在数据包中发现很多304信息。
e?@!V@0/llU!^6mE0B的解释(Cache URLs requiring content(HTMLs))
3yFGj6q4\c u R8u2v1E0DPebFh5gBg0LR对于资源文件的cache并不会真正cache在内存中或者在磁盘上,这个选项表示:对于一些需要用到的关联,校验,页面解析内容真正cache在内存中,减少客户端的重复工作。51Testing软件测试网*j7D A+xAvUU [
{f#YzVF0当然如果你想把GIF也cache到内存中,你可以在Advanced中设置,选择Specify URL requiring content in addition to HTML pages,加入条目image/gif,并勾选。当Vuser运行的时候,你可以对比一下mmdrv.exe进程的内存消耗(内存占用会更多)。51Testing软件测试网t-Pvu2iLu
51Testing软件测试网-~1FJ@ z3l~8P/x C6ha四: 结论51Testing软件测试网.fiu~y2g
51Testing软件测试网b8P7G"B.?通过上面的测试分析,我们大概知道了每个选项的真正含义,你需要根据你的测试目的来选择合适的设置:
0bRPp`E(\ ur051Testing软件测试网 L*QT.A n)U*y s7| d-TJ1、 对于一个具体的应用测试,对于前端Web Server不可忽略,缺省设置非常合适,不需要调整(有时候需要考虑把C选上)
A#?-P4Mp4Kn0eF/]q(vf0注意:很多人在录制脚本的时候,习惯把登入操作放到vuser_init中,这时候缺省设置可能会抛错,建议把这类的操作都放入到action中
#yZq;D.S&?#wf1[6t:DT0W^ p5W-|/N+P02、 如果你更关注后端应用服务器的性能或者说做一些架构的验证分析,那你缺省设置对于你来说就不合适了,你需要选择取消所有的设置项。
+CwaSV:Ae0/[MZI|*FOZ0当然你也可以根据自己的具体情况做不同调整,但是一定要真正理解这些选项的具体含义才能做到不犯错误51Testing软件测试网v8KuCR_
51Testing软件测试网y+N:K Mgx)k转载自:http://www.cnitblog.com/stomic/archive/2009/03/24/55721.html
1d;zl:YVtx ]0相关阅读:
- 测试工具Loadrunner日志参数的设置与使用 (51testing, 2009-5-31)
- LR通过snmp监控linux下的内存使用情况 (fairylly, 2009-6-01)
- LoadRunner压力测试结果分析探讨 (51testing, 2009-6-02)
- 用LoadRunner分析资源占用率 (msnshow, 2009-6-07)
- LoadRunner:随着用户的增加,吞吐量和点击数突然下降,原因何在? (fishy, 2009-6-08)
- LR 录制ODBC小结 (garfield0610, 2009-6-09)
- LoadRunner做性能测试 从设计到分析执行(一) (fishy, 2009-6-10)
- LoadRunner做性能测试 从设计到分析执行(二) (fishy, 2009-6-10)
- LoadRunner性能测试指标 (msnshow, 2009-6-13)
- loadrunner 函数说明(转载) (msnshow, 2009-6-14)
TAG: LoadRunner loadrunner
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | 5 | 6 | ||||
7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
28 | 29 | 30 |
我的存档
数据统计
- 访问量: 185286
- 日志数: 85
- 建立时间: 2007-05-29
- 更新时间: 2012-09-17