此刻开始,这里成为了我的心情日记。技术性的话题会慢慢变少.......我想跳出技术圈........

LoadRunner之碎花

上一篇 / 下一篇  2007-09-21 15:11:23 / 个人分类:性能测试之LoadRunner

1.什么是集合点

向Vuser脚本中插入集合点是用来模拟服务器的重负载。集合点要求在测试执行过程中,让虚拟用户在某个点等待,然后一起提交执行任务。例如,模拟银行系统的峰值负载,就可以插入集合点,让100个虚拟用户同时向各自的帐户存现。

集合点是一种特殊情况下的并发,多用于测试系统在瞬间加压的表现。

设置集合点是为了确保“严格意义上”的并发,其实从本质上看,这主要是一个看问题的粒度大小的问题。集合点的作用是通过工具的控制,确保一个请求严格的“同时”从前台提交到后台。可是如果微观地看,是不存在严格意义上的并发的,即使在客户端通过设置集合点的方式将100个请求同时提交到后台,经过网络上的传输消耗,可能它们并不是同时到达的,而即便100个请求同时到达服务器端,受到中间件和应用系统、数据库的各种连接池、缓冲区, CPU处理队列等的限制,也可能在服务器端产生等待的。

因此,严格意义上的“并发”可以说是不存在的,我们需要做的是在可以接受的粒度范围内取得一个最佳的平衡点,站在这个平衡点的层面上去看待“并发”这个问题。集合点是一种特殊情况下的并发,通常是在以调优为目的的性能测试中才会用得到,目的是有针对性地对某个可能存在性能问题的模块施压,以便找到性能瓶颈。

2.在Virtual User Generator中什么时候不能使用日志(log)?什么时候选择标准和扩展日志(standard and extend log)?

当调试脚本时,可以只输出错误日志,当在场景找你管加载脚本时,日志自动变为不可用。

Standard Log Option:选择标准日志时,就会在脚本执行过程中,生成函数的标准日志并且输出信息,供调试用。大型负载测试场景不用启用这个选项。

扩展日志包括警告和其他信息。大型负载测试不要启用该选项。用扩展日志选项,可以指定哪些附加信息需要加到扩展日志中。

3.如何调试LR脚本?

VuGen有两个选项帮助调试Vuser脚本。Run Step by Step 命令和断点(breakpoints)。Option对话框中的调试设置(Debug setting)项,可以确定在场景执行过程中执行轨迹范围。 调试信息写在output窗口。可以用 lr_set_debug_messag函数在脚本中手工设置信息类型。如果我们只想接收到一小段脚本的调式信息。

4.如何在LR中编写用户自定义函数?

在创建用户自定义函数钱我们需要和创建DLL(external libary)。把库放在VuGen bin 目录下。一旦加了库,把自定义函数分配做一个参数。该函数应该具有一下格式:__declspec (dllexport) char* <function name>(char*, char*)。

5.什么是Ranp up?如何设置?

Ramp up这个选项用于逐渐增加服务器的虚拟用户数或负载量。设置一个初始值而且可以在两个迭代之间设置一个值等待。设置Ramp up,请到‘Scenario Scheduling Options’。

6.用线程的方式运行虚拟用户有什么优点?

VuGen提供了用多线程的便利。这使得在每个生成器上可以跑更多的虚拟用户。如果是以进程的方式跑虚拟用户,为每个用户加载相同的驱动程序到内存中,因此占用了大量的内存。这就限制了在单个生成器上能跑的虚拟用户数。如果按进程运行,给定的所有虚拟用户数(比如100)只是加载一个驱动程序实例到内存里。每个进程共用父驱动程序的内存,因此在每个生成器上可以跑更多的虚拟用户。

7.如果出现错误停止脚本执行,该怎么做?

lr_abort函数放弃虚拟用户脚本的执行。说明虚拟用户停止Action的执行,直接执行vuser_end 然后结束执行。在出现错误情况下想手工放弃脚本的执行,这个函数是有用的。用这个函数停止脚本时,Vuser被指定为“Stopped”状态。为了这个函数起作用,开始时候就不能选择Run-Time Settings中的Continue on error选项。

8.响应时间和吞吐量之间的关系

吞吐量图显示的是虚拟用户每秒钟从服务器接收到的字节数。当和响应时间比较时,可以发现随着吞吐量的降低,响应时间也降低,同样的,吞吐量的峰值和最大响应时间差不多在同时出现。

9.与web服务器有关的问题如何发现?

通过Web资源监视器,利用这些监控器可以分析web服务器的吞吐量、点击率、每秒http响应数以及每秒下载的页面数。

10.What is the difference between Overlay graph and Correlate graph?

Overlay Graph: It overlay the content of two graphs that shares a common x-axis. Left Y-axis on the merged graph show’s the current graph’s value & Right Y-axis show the value of Y-axis of the graph that was merged. 

Correlate Graph:Plot the Y-axis of two graphs against each other. The active graph’s Y-axis becomes X-axis of merged graph. Y-axis of the graph that was merged becomes merged graph’s Y-axis.

11.思考时间是什么

思考时间是真实用户在action之间等待的时间。例如:当一个用户从服务器接收到数据时,用户可能需要在响应之前等待几分钟回顾数据,这种推迟被称为思考时间。

12.说说以下函数的区别

lr_debug_message- The lr_debug_message function sends a debug message to the output log when the specified message class is set.

lr_output_message- The lr_output_message function sends notifications to the Controller Output window and the Vuser log file.

lr_error_message- The lr_error_message function sends an error message to the LoadRunner Output window.

lrd_stmt- The lrd_stmt function associates a character string (usually a SQL statement) with a cursor. This function sets a SQL statement to be processed.lrd_fetch- The lrd_fetch function fetches the next row from the result set.

13.吞吐量—如果随着时间的推移和虚拟用户的增加,吞吐量曲线向上,说明带宽足够。如果随着虚拟用户的增加,吞吐量曲线相对平坦,这可能就是带宽限制数据传输量的一个原因。

 


TAG: 性能测试之LoadRunner

引用 删除 英伦空沙龙舞   /   2009-06-22 23:59:22
好啊!不像别人只发表问题而不说答案,对我这样的新手帮助很大!
我要加油喽!Go!Go!加油! 引用 删除 小李子   /   2008-11-19 19:19:48
有我需要的知识,集合点 ,呵呵刚学
猪猪的蓝色梦幻城堡 引用 删除 qicyt1812   /   2008-03-11 16:34:20
谢谢!偶收藏了,真是及时雨啊
 

评分:0

我来说两句

Open Toolbar