Jackei 的测试生活与人文社会读本

带着梦想和激情在现实中旅行
posts - 812, comments - 3861, trackbacks - 26, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
在 LR 中是有一个“网页细分图”的,通过这个图,你可以比较容易的区分哪些请求的响应时间最长,如果响应时间过程,是消耗在server处理的时候,还是消耗在网络传输过程中——也就是所谓的 Server time 和 Network time。
JMeter 并没有提供这么详细的区分——至少目前尚未发现,但是在 JMeter 的执行结果中也有一个字段可以利用一下。如果想看到这一项,首先要设置将 JMeter 运行结果保存到 XML 格式。

JMeter.properties 中找到
JMeter.save.saveservice.output_format=csv   改为
JMeter.save.saveservice.output_format=xml

重新启动 JMeter ,执行一个脚本并保存测试结果。
使用任何一个文本编辑工具打开 .jtl 文件,内容如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <testResults version="1.2">
 3 <httpSample t="2969" lt="1906" ts="1159349557390" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" ng="5" na="5"/>
 4 <httpSample t="2797" lt="1719" ts="1159349557609" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-2" dt="text" ng="5" na="5"/>
 5 <httpSample t="2625" lt="1594" ts="1159349558015" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-4" dt="text" ng="5" na="5"/>
 6 <httpSample t="2843" lt="1812" ts="1159349557812" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-3" dt="text" ng="5" na="5"/>
 7 <httpSample t="2687" lt="1110" ts="1159349558218" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-5" dt="text" ng="5" na="5"/>
 8 <httpSample t="844" lt="391" ts="1159349560374" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" ng="5" na="5"/>
 9 <httpSample t="843" lt="437" ts="1159349560406" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-2" dt="text" ng="4" na="4"/>
10 <httpSample t="781" lt="422" ts="1159349560640" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-4" dt="text" ng="3" na="3"/>
11 <httpSample t="782" lt="391" ts="1159349560905" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-5" dt="text" ng="2" na="2"/>
12 <httpSample t="1188" lt="485" ts="1159349560655" s="true" lb="http://jackei.cnblogs.com/" rc="200" rm="OK" tn="Thread Group 1-3" dt="text" ng="1" na="1"/>
13 
14 </testResults>
15 

找到 lt 这一项。

结合 JMeter 的几篇文章和 email,解释一下 lt 的意思。
lt = latency time (ms)

JMeter 中执行一个脚本时,大概的过程如下:

Start timer
Send Request
Wait for data
Initial (first) response packet occurs - this is latency
more data
...
end of response
Stop timer - this is the response time


这里可以看到 lt 是接收到响应的第一个包的时间。
而上面的 XML 文件中,t 这一项表示的是 elapsed time。也就是一个请求从发出到收到完整的响应的时间。
那么 lt 就相当于 LR 中的 Server time,而 t-lt 就相当于 LR 中的 Netwrok time。

Feedback

#1楼   回复  引用    

2008-03-05 11:30 by 枪与玫瑰[未注册用户]
Jackei你好,
我想请教一下, 是不是JMeter的报告文件只有jtl这一个文件啊?
在不同的监听器中打开这个文件会生成相应的监听器的结果?
而在JMeter.properties 中修改成csv或xml格式只是对报告内容的格式有影响而报告文件的扩展名仍是jtl?
希望你在百忙中指点一下。

#2楼[楼主]   回复  引用  查看    

2008-03-05 12:09 by Jackei      
@枪与玫瑰
是这样的。

#3楼   回复  引用    

2008-03-05 13:18 by 枪与玫瑰[未注册用户]
谢谢 :-)

#4楼   回复  引用    

2008-06-23 17:44 by liangxy[未注册用户]
采用jmeter 2.3.2

<?xml version="1.0" encoding="UTF-8"?>
<testResults version="1.2">
<httpSample t="20" lt="20" ts="1214213988794" s="true" lb="/bin/search" rc="200" rm="OK" tn="线程组 1-1" dt="text" by="6003">
<assertionResult>
<name>响应断言</name>
<failure>false</failure>
<error>false</error>
</assertionResult>
</httpSample>
<httpSample t="8" lt="8" ts="1214213988834" s="true" lb="/bin/search" rc="200" rm="OK" tn="线程组 1-1" dt="text" by="6099"/>
<httpSample t="5" lt="5" ts="1214213988844" s="true" lb="/bin/search" rc="200" rm="OK" tn="线程组 1-1" dt="text" by="666">
<assertionResult>
<name>响应断言</name>
<failure>false</failure>
<error>false</error>
</assertionResult>


多项都是t=lt的。
呵呵,是否有不同变化?

偶还没有深入探索

#5楼[楼主]   回复  引用  查看    

2008-06-23 21:53 by Jackei      
@liangxy
看你提供的数据中的time都是个位数毫秒级的,请求的"/bin/search"是什么?
另外,你下面的断言都是false的,检查一下吧。



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 516488




相关文章:

相关链接: