loadrunner常见问题

1. 进程虚拟用户与线程虚拟用户有何区别?

进行虚拟用户指在场景中使用mmdrv.exe的进程方式来模拟虚拟用户,每个虚拟用会使用一个mmdrv.exe进程。而线程模式指所有虚拟用户都会使用mmdrv.exe下的线程来进行脚本运行。线程模拟用户对负载生成的资源消耗较小,但有些进修会出现负载错误;进程比较稳定,但资源开销较大。

2. 什么内容需要关联?

当脚本中的数据每次回放都发生变化时,并且这个动态数据在后面的请求中需要发送给服务器,那么这个内容就需要通过关联来询问服务器,获得该数据的变化结果。当确认关联的内容后,要确认所需要的数据是在哪个请求中返回的,并且定位该数据的位置和特征,以及左右边界。

3. 为什么需要检查点?

因为VuGen确定脚本运行的成功的判断条件仅为服务器有返回页面。至于返回的页面是否正确,VuGen不做检查的。也就是说,如404这样的错误页面,在VuGen中的test results中显示的状态为PASS状态。所以,我们需要一种函数,帮助验证请求发送出去后,服务器的返回是不是期望的内容,如果不是,那么就说明服务器无法提供正常的服务。

4. 为什么需要集合点?

集合点函数可以帮助我们生成有效可按的并发操作。虽然在Controller中多Vuser是一起开始运行脚本的,但是由于计算机的品德处理机制,脚本的运行随着时间的失衡,并不能完全达到同步。这个时候需要手工的方式让用户在同一时间点上进行操作来测试系统并发处理的能力,而集合点函数就能实现这个功能。集合点只需要在脚本中rttylr_rendezvous()函数即可。

5. 场景有何作用?手工场景和目标场景有何区别?

当虚拟用户脚本开发完成后,使用controller将这个执行脚本的用户从单人转化为众人,从而模拟大量用户操作,进而形成负载。我们需要对这个负载模拟的方式和特征进行配置,从而开成场景。场景是一种用来模拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,验证系统各项性能指标是否达到用户要求,而controller可以帮助我们对场景的设计、执行及监控进行管理。

电影票场景,就是设置一个运行目标,通过controller的auto load功能进行自动化负载,如果测试的结果达到目标,则说明系统的性能符合测试电影票,否则就提示无法达到目标。目标场景是定性型的性能测试,我们只关心最后性能测试的结论是否符合性能需求,常常用在验收测试的场合。手工场景就是自行设置虚拟用户的变化,通过设计用户的添加和减少过程,来模拟真实的用户请求模型,完成负载的生成。手工场景是宣型性能测试,我们通过掌握在负载的增加过程中系统各个组件的变化情况,从而定位性能瓶颈并了解系统处理能力,一般在负载测试和压力测试中应用。通过手工场景可以帮助我们分析系统的性能瓶颈。

原文地址:https://www.cnblogs.com/sunada2005/p/3431889.html