LoadRunner如何在大负载下测试
上一篇 / 下一篇 2008-06-10 14:36:10 / 个人分类:性能测试
2l(v*]OX,Q$I,HqZ2X0 在大负载中使用LoadRunner进行负载测试,需要配置一些环境来满足大负载下各种资源的充足:
?:`}$`*QdJ7O051Testing软件测试网-`yjp#Z"}B1.为了避免出现“No Buffer Space Available”的错误,需要进行如下配置:51Testing软件测试网S%C D\a \;e
.pF$b(Jk(za0 1)修改注册表:51Testing软件测试网(Ba9sG(pU
x+A!QVU0 * 设置“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Par
8Qo+^-[/ek0ameters\TcpTimedWaitDelay”为 30
r}ux0sA]0 * 设置“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Par
a;VH2r8z u)T\
W0ameters\MaxUserPort”为 65534
6{%L,sr(V5}3Z
T0 * 在“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session
)x:uHg#l;C4~:_Z$@@0Manager\Sub Systems\Windows”设置SharedSection 为 4096
:G6WaXL%Q0 2)通过在每个脚本的开头添加如下函数来设置“SHUTDOWN”模式为"ABRUPT"51Testing软件测试网 G)[4ts[`;K g6}
51Testing软件测试网(X7PN-sf!D2`web_set_sockets_option(“SHUTDOWN_MODE”,”ABRUPT”)51Testing软件测试网l+Uh$Ot5?;a l-fQ2B
51Testing软件测试网%u oPl-E ^&U0K2.关闭所有的杀毒,反间谍扫描软件等。同时也关闭任务扫描和所有不需要的服务。51Testing软件测试网h*hjZ6pL?4B6\0P
$sx;{/hNZJ0 3.脚本运行时设置:
D"U/{~k|8N0+z%Mxe%{0 1)设置日志为“只在错误发生时发送信息”
i7M&d!c9k7wR051Testing软件测试网T8?5A:\7W#X gQHgP2)去掉错误时产生snapshot的选项51Testing软件测试网2l{u U%n} q F:j
*z!s@({#s zX0 3)在miscellaneous上,去掉 定义每一步为一个事务 的选项51Testing软件测试网 RDiHL1?
51Testing软件测试网;wG^V5e4)不选择 模拟浏览器缓存,选上“simulate new user on each iteration”和它的子选项51Testing软件测试网M.c-\;SM"ypq0BS
51Testing软件测试网LPi$H\(U4.如果下载的页没有资源,在web_url函数中添加“Mode=HTTP”,这样会减少LG上的负载(不用转换成HTML)。默认情况下,web_url的Mode为Mode=HTML51Testing软件测试网 b"~VcO?0l
51Testing软件测试网IU.O/F7Rv,] [5.重启LG并且确保他们都能跟Controller连接.
/E)m5cT/COO*^i0k#Nq4H:IKu0 6.确保LG和控制器上有足够的剩余磁盘空间.51Testing软件测试网8P-^:X|ZR!B&G5s
5i"lw4ez*b3Vx0 7.在controller中去掉web page breakdown51Testing软件测试网P P vO}#|6L+|
51Testing软件测试网N2m u1nY9a!H9W^]8.限制Vuser在所有LG上同时进行初始化的数目.可以在Controller的Tools > Options > Run-Time Settings中进行修改.每个LG都有这个设置.51Testing软件测试网8`3x*aC!BV6g G
51Testing软件测试网Il9[OnC[9.限制controller在运行时存储的错误数.通过修改wlrun.ini中的[output]项来实现:
$m9x.X5_h%a9W)eF0U2m!kQF@0 • FlagLimitOutputMessages=1
2?HT,k`c
eJ0 • MaxNumberOfOutputMessages=<errors count> (default is 10,000)
10.在Controller上修改Monitor的采样率来降低CPU的使用.可以在Controlller的Tools > Options > Monitors 下修改,如下图所示:51Testing软件测试网6\d%z?Iu5E3a
#Gnkj2e)r.`3l0
Q,S]8fw0zLS(G$B%i7F S0T(u RMz!`+x011. 如果有很多错误产生,最好不要经常打开Error/Output窗口,因为这样会因为访问数据库而打开另外的数据库连接.51Testing软件测试网-_;M0mj0F
5s@a0y @012.负载测试中不要使用"Show Vuser"选项.
'T+|+S%Uqq\u051Testing软件测试网(D W7m5G!F7A$r13.把输出信息重定向到一个文本文件中来代替输出到mdb文件中.可以在wlrun7.ini中修改[output]下的51Testing软件测试网i]"u r Kb4r
51Testing软件测试网Dj.Yv XBExportMessageToFile=1来实现.51Testing软件测试网U;@ c'rg-d
9Tv}Z s5Vw014.不要在Controller机器上运行虚拟用户.
?Z FQG3UVe051Testing软件测试网 xi)M:c:nvf0L(F)t.B15.在场景中设置监视器:
'Nqp ~\,[kUd F]06DZ hG(G9W8c0 * 内存使用上 mmdrv进程的private bytes
GalmhFlHf051Testing软件测试网1`.mC:R @.g j* disk使用51Testing软件测试网H4x(_ fA
51Testing软件测试网)]6y)`k'R#o* CPU使用51Testing软件测试网#XWM-DM_
x-C0M"j5s1pkph0 * 网络使用51Testing软件测试网#L0k7T{P!iJ
ve3lzPnh[dP;]016.把脚本中所与打印信息的脚本去掉.如下面的代码每次迭代都会调用一次,对大量并发用户的运行产生负面的影响.51Testing软件测试网m C#gL-uM(}V:Df:a
7`x$rwudD R0lr_vuser_status_message("pIteration: %s -
-S2t~0a$RT@#zA0START Action", lr_eval_string("{pIteration}"));51Testing软件测试网z
W0?Ym A5\+d;MQ
lr_output_message("pIteration: %s - START Action", lr_eval_string("{pIteration}"));
Controller处理所有虚拟用户的信息,这样会大大降低Controller的性能. 如下是类似的代码:51Testing软件测试网4z l | FB5P b
w7u$O
hSEn@0web_reg_find("Text=Time on Server", "SaveCount=cErr", ..);51Testing软件测试网ltX$w-IYBA8is
web_url( some url …);