51Testing软件测试网,n5pc(p'@P O 在做性能测试过程中,曾经遇到过如题两个概念理解的困惑。查了一些打印资料、逛了不少技术论坛,再加上自己在工作中的体会,从个人的角度描述一下自己对上述二概念的一点浅显的认识,如有不当之处请及时批评指正!51Testing软件测试网Z
l-I9j%u+kw4Z
.Ys@Ep
Vx\1[Tz0 一、LoadRunner中的“集合点”51Testing软件测试网 OH9L9p
w;_/wf
QB(HM2{ z"m0 在执行负载测试时,可能需要模拟系统上较重的用户负载。而通过LoadRunner中的Controller来模拟多个虚拟用户执行脚本时,每个脚本的运行步骤不一定是同步的。要达到模拟较重用户负载的效果,就需要尽量同步这些虚拟用户的步伐,即尽量让这些虚拟用户在同一时刻执行任务。那就要创建“集合点”。当某个Vuser到达该集合点时,将进行等待,知道参与该集合的全部Vuser都到达。简单的说,就是参与执行业务操作的用户先到的要等着慢的,等都到了后再进行下一步的工作。
K+dsDck1f-g*`051Testing软件测试网"Y1e?)\@ 1、如何设置“集合点”?51Testing软件测试网W!\
utk[
51Testing软件测试网j_1VWm:{?_ 可在Vuser脚本来指定“集合点”。在Vuser执行脚本并遇到集合点时,脚本将暂停执行,Vuser将等待Controller或控制台的允许以继续执行。Vuser从集合释放后,将执行脚本中的下一个任务。
'eyB8q FT M
UI0?(nC w@(r eAU0 (注意:只能向Action部分添加集合,而不是init或end部分。)51Testing软件测试网
k;fO5D~M
51Testing软件测试网;pdN?e.k9hM;d4| ~ 1)可在脚本录制过程中,点击“录制”工具栏上的“集合”按钮。将打开“集合”对话框。
(F5c P]-d0$ff-Cp2_:[0 2)在“集合名”框中键入集合点的名称。点击“确定”接受该集合名称。VuGen会把lr_rendezvous语句插入到Vuser脚本。如下:51Testing软件测试网R4?|g:u ydX
]
rp)M@umk0 Lr_rendezvous(“rendezvous1”);51Testing软件测试网0L-}B4b3?7Y
%}d8b ~k7loq~
dT0 2、“集合点”的插入位置51Testing软件测试网{)y2\QIw5W%u@
r
X|^ia Ay0 根据经验,“集合点”最好放在事务外面,或两个事务之间。因为根据LoadRunner中“集51Testing软件测试网2DXP7M'e
x;{
51Testing软件测试网h v6aqK 合点“的工作原理,如果把”集合点“放在事务中,”集合点“前的等待时间也会被统计到事务响应时间里。而在性能测试中,响应时间是很重要的一个指标之一,因此,如果把”集合点“放在事务里,最后的结果可能与实际情况有较大偏差。
8o+[8]LP&l0,n7|S^)|l#[g"ffaX0 3、如何控制“集合点”?51Testing软件测试网4FNo4@~x&yQ
F8yMwgb]-{0 在场景中,多个脚本同时并发时,把所有集合点改为同一名称即可。
$rza"r.Xx,o~8P08n3\oo)m
U ? pk5e0 二、并发51Testing软件测试网mP}/w d!m-} j
51Testing软件测试网-mZ Jib(U “并发”顾名思义,就是同时操作。而这种操作可以是实际的执行功能,也可以只是“连接”(此时通常叫做“并发连接”)。从计算机工作原理的角度出发,“并发”也只是一个相对较短时间段内的概念,而从信息系统的角度出发,也是与的总的操作时间相比,相对较短的一时间段中的同时性。因此,“并发”与考察问题的粒度有关。
E_o!A g[:H]051Testing软件测试网] gR9Mk 三、“集合点”与“并发”
|'A:Im+W(iU_|;i$s7h07J2o`:D6kM/g0 通过上面两节的描述,我们应该能意识到,“集合点”与“并发”是有联系的,但并非必然的联系。
{.Y,|5c/n.fm2V-q;VN051Testing软件测试网.`"Bc"u$BCG
T 有这样一种说法,设置“集合点”是为了确保“严格意义”的并发。“集合点”主要是通过工具的控制,确保一个严格的“同时”从前台提交到后台。可从微观上看,并不存在严格意义上并发。即便你通过设置“集合点”达到了50个用户同时向服务器提交请求的效果,经过网络传输、应用服务器(中间件)、数据库等层面的消耗,以及各服务器CPU处理队列的限制,都可能会导致在服务器段产生等待。因此,并没有“严格意义”上的并发。我们所需要做的,就是要根据不同的测试目的及测试策略,在一个可接受的考察粒度范围内取得一个最佳的平衡点,来模拟接近实际的“并发”。51Testing软件测试网QG]{yyr
(n"ph*k/U"V B0 根据经验,根据测试目的的不同,如果测试目的不是“调优”或“故障定位”相关的,那就没有必要设置“集合点”。“集合点”在一般的性能测试中很少使用。
(j Qt$ci2Lxke0