xingcyx

编码未动,测试先行

常用链接

统计

积分与排名

软件测试

最新评论

看懂LoadRunner分析报表(一)

一、 Web Page Breakdown

DNS
解析时间: 显示使用最近的 DNS 服务器将 DNS 名称解析为 IP 地址所需的时间; DNS 查找度量是指示 DNS 解析问题或 DNS 服务器问题的一个很好的指示器;
Connect
时间: 显示与包含指定 URL Web 服务器建立初始连接所需的时间; Connect 度量是一个很好的网络问题指示器;它还可表明服务器是否对请求做出响应;
First buffer
时间: 显示从初始 HTTP 请求到成功收回来自 WEB 服务器的第一次缓冲时为止所经过的时间; First buffer 度量是很好的 Web 服务器延迟和网络滞后指示器;
SSL Handshaking time
显示建立 SSL 连接所用的时间
Receive Time
显示从服务器收到最后一个字节并完成下载之前经过的时间;接收度量是很好的网络质量指示器;
FTP
验证时间: 显示验证客户端所用的时间。
Client Time
显示因浏览器思考时间或其他与客户端有关的延迟而使客户机上的请求发生延迟时,所经过的时间。
Error
时间: 显示从发出 HTTP 请求到返回错误消息这期间所经过的平均时间

 

2007-1-11

 

二、 关于 TPS Transactions per Second ): 每秒处理事务数

 

这个值可以说明系统在特定的负载情况下,每秒可以处理多少个客户端请求,这是一个衡量服务器端性能的重要指标,相信各位在进行性能测试的时候经常会用到这个指标。但是一直以来我都有一个疑问,到底这个值是怎么算出来的。既然是每秒事务数,那算法自然是“事务数 / 时间”。事务数很好理解,执行了多少就是多少,关键是这个时间。是整个场景执行的时间,还是仅仅是在服务器端执行的时间?因为我们知道,这两个时间肯定是有区别的,前者还包括 thinktime 的时间、 pacing 的时间以及在网络上耗费的时间等等。

为了弄明白这个问题,我今天特地查了一下帮助文档,看到上面是这么说的:“每秒事务数图显示在场景或会话步骤运行的每一秒中,每个事务通过、失败以及停止的次数。”如果按照这句话去理解,那么上面那个问题的答案应该是后者,也就是说,在 Transaactions per Second 这张图中, LoadRunner 是针对场景运行过程中的每一个时间点取样一次,显示在这个时间点上每个事务的通过、失败以及停止的个数。

另外,我还在 Analysis 里面找了一下,发现图表的时间显示粒度也是可以设置的。具体方法为:在图表上点击右键 -> 选择“ Set Granularity ”或者直接按 Ctrl+G 。我试着把时间粒度调成以毫秒为单位,结果 LoadRunner 提示当前不支持以毫秒为显示粒度,由此我推断 LoadRunner 对于 Transactions per Second 这张图,最小的取样粒度为 1 秒。

2007-2-8

 

三、 事务响应时间(百分比)图

 

这个图显示的是事务响应时间范围的分布情况。在场景的执行中,每个定义的事务可能会不止被处理一次(因为设置了持续时间或者迭代次数), LoadRunner 会为每个事务实例的处理分别记录响应时间。在 Summary Report 中, LoadRunner 会针对每个事务的响应时间数据集合,分别取它的最大值、最小值和平均值,通常我们会关注响应时间的平均值。然而很多时候,单单是平均响应时间可能是不够的,因为一旦最大值和最小值出现较大的偏差,即便平均响应时间处在可以接受的范围内,但并不意味着整个系统的性能就是可以接受的,我们有必要再借助其它的分析报表来进一步分析,此时事务响应时间(百分比)图就派上用场了。

事务响应时间(百分比)给出的是每个事务的响应时间按百分比的分布情况,它告诉我们本次测试有多少个事务的平均响应时间是落在我们可以接受的时间范围之内。如果最大响应时间非常长,但是绝大多数事务(通常情况下以 95% 为参考)的响应时间具有可以接受的响应时间,则我们认为整个系统的性能还是可以接受的。

注意: Analysis 将对每个可用事务百分比的事务响应时间取近似值。因此 Y 轴的值可能并不准确。

2007-2-8

 

四、 事务响应时间(负载下)图

 

这个图显示的是事务响应时间随着场景中虚拟用户的逐渐增长的变化趋势图,该图可以帮助我们查看 Vuser 负载对性能问题的影响。当我们需要了解某个事务的响应时间随着虚拟用户的增加而产生的变化时,可以通过在控制台中设置一个渐变负载的场景的方式来实现。

例如每 5 分钟加载 10 个用户等,然后考察得到的这张图表,就能够对此有一个比较好的理解。

2007-2-14

posted on 2007-02-14 15:47 xingcyx 阅读(2599) 评论(27)  编辑  收藏

评论

# re: 看懂LoadRunner分析报表(一) 2007-02-26 10:31 silvertree

帅哥,上面的图片都没法显示啊  回复  更多评论   

# re: 看懂LoadRunner分析报表(一)[未登录] 2007-02-26 11:10 xingcyx

我本来就没有贴图啊。
我只是在说这几张图所表示的含义,这几张图的名称都比较容易看懂,用不着贴图了吧?  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-03-07 13:17 ppent

谢谢你的文章,我想我明白了一个思考了很久的困惑。
事务响应时间和每秒事务数(或单位时间的事务数),但从指标的意义来说,应该是互为倒数的。但是从实际测试结果的数值来看,又没有这样的规律。
而实际上,事务响应时间在LR的统计中应该是包括了thinktime、网络时间等消耗的,而每秒事务数仅仅是在服务器端执行的时间,由于两者在数据的统计并不相同因此并不会是倒数关系。
不知道有没有说错?  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-03-07 14:22 xingcyx

@ppent
我在上文中说的是每秒事务数图所表示的含义,LR在运行场景的过程中,会对每一个时间点采样一次,记录在这个时间点上所通过的事务数,将其绘制成分析图,这就是我们所看到的“每秒事务数图”,而我们通常所关注的TPS值,应该是由这些采样值所取的平均值,这样看来,事务响应时间和每秒事务数肯定不会是简单的倒数关系。  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-03-07 15:15 槛外人

先说一个疑问:
有关于每秒事务数的问题。每秒事务数=事务总数/运行时间。这里的运行时间应该是指场景从开始到结束的时间。因为按照帮助文件中的描述“每秒事务数图显示在场景或会话步骤运行的每一秒中,每个事务通过、失败以及停止的次数。” 也就是说,在场景运行中,截取某一个点 来统计当前完成的事务数。所以整个的时间范围应该是场景运行时间。而不是服务器的运行时间。
我这样说的证据是,我观察了以前测试过的很多场景,都是总的事务数/场景运行时间=每秒事务数。

另外再说一个我的问题:虚拟用户数、响应时间、每秒事务数的关系。
一个虚拟用户在场景中运行,无非要做以下事情:初始化、迭代Action、结束。迭代运行时,包含额外的记录日志功能。(脚本中没有ThinkTime)。
按照这样的理论,去掉日志功能。那么就应该有以下的关系:虚拟用户数/响应时间=每秒完成的事务数。但在时间的场景分析中,发现上述的关系不成立,不知道是什么原因?

  回复  更多评论   

# re: 看懂LoadRunner分析报表(一)[未登录] 2007-03-07 21:08 xingcyx

@槛外人

关于你说的第一个问题,按照帮助文件中的说法,可能我在上文中表述的意思有些模糊,其实我的理解是这样的:在场景运行的整个过程中,LR都会对每一个时间点采样一次,取在这个时间点上通过的事务数,然后画一个分析图。而你说的“总的事务数/场景运行时间=每秒事务数。 ”我不清楚你说的这个“每秒事务数”是从哪里得到的,如果是TPS图下方的平均值,我认为这个值应该是这些采样值的平均,而不是这样得到的。当然也有可能是我理解的错误,欢迎继续讨论,希望我们最终能得到一个正确的结论。

至于你的第二个问题,我不太理解你的意思,,虚拟用户数和完成的事务数并没有确实的对应关系,一个虚拟用户执行的脚本中可能包含多个事务(有时还会包括init和end事务),所以你说的“虚拟用户数/响应时间=每秒完成的事务数”,是没有什么根据的。  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-03-10 14:51 ppent

我比较认同xingcyx的理解。
如果这样的话,事务响应时间和每秒事务数都不是通过场景时间、事务数的除法算出来的,而是分别通过对采样点的计数和采样点的数值得到的。既然如此的话,应该就不存在什么关系了。
精通一个测试工具,真的是一门很深的学问啊。  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-03-22 17:33 槛外人

呵呵,隔了一段时间又来看之前的思想,发现一些理解是有问题的。
“LR都会对每一个时间点采样一次,取在这个时间点上通过的事务数”这个说法看一下分析图就可以得出来的,而我以前可能过分关注了平均值,忽略了场景运行过程中的一些数值。
ppent朋友说得不错,精通一门测试工具,其实涉及到很多相关的内容,是个知识面的问题。呵呵,大家一起努力吧。  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-03-30 10:04 rickyzhu

这里讨论很热闹啊.

呵呵,

每秒事务数图显示在场景或会话步骤运行的每一秒中,每个事务通过、失败以及停止的次数。”如果按照这句话去理解,那么上面那个问题的答案应该是后者

应该是前者吧.

  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-03-30 22:01 xingcyx

@rickzhu

呵呵,我写这个已经有一段时间了,现在自己再看我写的这几句话,也挺费解,已经想不起来为什么当时会这么写了。

现在想想其实我这样的描述似乎并不是很合适,对于帮助里的这句话,仅仅从它字面上的意思就挺好理解了,没有必要区分这里的前者和后者,我这样描述反而可能对大家造成误导了,不好意思。^o^  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-08 14:28 还是不知道每秒事务数是如何得来的?

看Transactions per Second图某一事务的平均值吗?期待回答  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-08 14:29 fenfen

怎么看了半天,还是不知道每秒事务数是如何得来的?
看Transactions per Second图某一事务的平均值吗?期待回答  回复  更多评论   

# re: 看懂LoadRunner分析报表(一)[未登录] 2007-08-08 14:47 xingcyx

是的。Transactions per Second就是每秒事务数,也就是我们通常说的TPS  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 11:16 fenfen

谢谢xingcyx的回答

那为什么我设置运行15个用户5次迭代,访问用户查询页面,Transactions Per Second显示事务:访问用户查询页面的Averager才0.101
这样是不是该事务的每秒事务数才:0.101啊  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 11:25 fenfen

每秒事务数=每秒交易数吗?  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 11:29 fenfen

TPS = 事务数/整个案例时间是对的吗?
事务数是否等于15×5(15个用户5次迭代),如果整个案例时间为:12:22分,那么TPS=75/(12*60+12)=0.101  回复  更多评论   

# re: 看懂LoadRunner分析报表(一)[未登录] 2007-08-09 12:36 xingcyx

怎么一下子提这么多问题。
一个一个来吧:
1、是的。但是TPS值这么小,你要检查一下具体的原因。如,是不是把thinktime算进去了?你的事务定义得是否有问题?等等。
2、每秒事务数可以是每秒交易数,这要看你的事务和交易分别是怎么定义的。
3、平均TPS值是这样算的没有错。
  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 13:49 fenfen

xingcyx,谢谢
1、没有算thinktime,忽略了thinktime,事务定义是:从开始点击“用户查询”菜单到显示用户查询页面
2、因为响应时间比较长:达39秒,响应时间很长会影响每秒事务数吗?

每秒交易数我还不知道是如何定义的,:(,概念比较模糊  回复  更多评论   

# re: 看懂LoadRunner分析报表(一)[未登录] 2007-08-09 14:07 xingcyx

晕,这个问题比较汗。。。
当然会影响啊,你自己都知道TPS是事务数/时间,那么时间越大,当然TPS就越小啦。  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 14:46 fenfen

事务数/时间,这个时间不是整个脚本的运行时间吗?
难道不是吗?时间是响应时间?那我更糊涂了
39指的是访问查询用户页面的响应时间。
  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 14:48 fenfen

xingcyx
实在不好意思,:(,我上面算的是:
TPS = 事务数/整个案例时间
事务数是否等于15×5(15个用户5次迭代),如果整个案例时间为:12:22分,那么TPS=75/(12*60+12)=0.101

  回复  更多评论   

# re: 看懂LoadRunner分析报表(一)[未登录] 2007-08-09 16:00 xingcyx

哦,不好意思,我上面说得不太准确。
其实我的意思是,响应时间长了,也就意味着TPS低。
不是说响应时间长会影响TPS,而是说响应时间长了会导致TPS低。
也就是你要衡量的这个事务性能有问题,详细的要再跟踪。  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 16:15 fenfen

谢谢
TPS = 事务数/整个案例时间是对的吧?  回复  更多评论   

# re: 看懂LoadRunner分析报表(一)[未登录] 2007-08-09 16:25 xingcyx

对的。
不过我建议你找一个实际的测试结果,自己看看,会理解得更清楚些。  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 16:56 fenfen

我现在就有实际的测试结果,但是不会分析  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-08-09 17:00 fenfen

以前测试的时候结果就看点击率,吞吐量和响应时间,系统利用率,没分析过这个Transaction per Second,今天我看了以前的测试结果,怎么好像都很少呀,一个事务每秒才1点几,很奇怪  回复  更多评论   

# re: 看懂LoadRunner分析报表(一) 2007-12-05 23:03 testxxh

对于性能测试后的,weblogic调优,不知大家有没有好的建议或经验,如何通过调节weblogic,提高web服务的并法数  回复  更多评论   


标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
 

推荐图书:
走出软件作坊》、《悟透JavaScript》、《Head First 设计模式
相关链接:
网站导航: