用事实说话——解析事务响应时间包括的细分时间.docxVIP

  • 0
  • 0
  • 约3.2千字
  • 约 2页
  • 2026-02-06 发布于浙江
  • 举报

用事实说话——解析事务响应时间包括的细分时间.docx

用事实说话——解析事务响应时间包括的细分时间

08年春节前和zee的通话中被告知LoadRunner中的事务响应时间不包括ReceiveTime,当时甚为

惊诧,因为我一直是认为事务响应时间应该包括DNS

Resolution、Connection、First

Buffer、Receive、ClientTime等时间的。如果LoadRunner结果分析中的事务响应时间的确不包

括ReceiveTime,那也就意味着我曾写过的许多系统性能报告很多都将成为废纸。但是zee也没

有拿出足够的证据证明他的理解是绝对正确的。

为了明确事务响应时间是否包含Receivetime在内,我在网上查了很多帖子和文章,这一查吓

我一跳,因为网络上对事务响应时间以及其细分时间的理解存在很大的分歧,而且并没有统一的或

者一致的观点和说法。我罗列几种常见理解分歧:

1.

Clienttime指客户端发出请求前的延时(客户端忙碌未能及时将请求发出),还是收

到请求后的客户端延迟(客户端IE会执行一些javascipt脚本或其他页面初始化动作)

FirstBuffertime是否包括DNSResolutionTime和ConnectionTime,有人甚至认

2.

为FirstBuffertime就是事务响应时间,因为FirstBufferTime在LoadRunner中是这样解释

的:DisplaystheamountoftimethatpassesfromtheinitialHTTPrequest(usuallyGET)

untilthefirstbufferissuccessfullyreceivedbackfromtheWebserver.Thefirst

buffermeasurementisagoodindicatorofWebserverdelayaswellasnetworklatency.如

果这里的HTTPrequest理解为客户端提交HTTP请求,那么他的这种理解还真是有一定道理的。

3.

AverageTransactionResponseTime是否包括Receivetime和Clienttime

先说第一个问题,ClientTime的理解。按kernzhang的说法,这一时间指收到请求后的客户端延

迟(客户端IE会执行一些javascipt脚本或其他页面初始化动作),我自己也是这样理解的。但是

在LoadRunner中并没有找到足够的说明来解释这一点,只是说是客户端的延迟。

再说第二和第三个问题。第二和第三其实是同一类问题,我没有找到相关的足够的证据说明那个对

那个错,因此我设计了如下的一个试验。

思路:Analysis中有两张表,AverageTransactionResponseTime和PageDownloadTime

Breakdown(OverTime),而且能生成原始数据,生成AverageTransactionResponseTime中的

RawData,然后生成PageDownloadTimeBreakdown(OverTime)中的RawData,将相同时间点的

事务响应时间和事务的各种时间做一个比较。例如从开始执行起到2.035秒有一个action事务,响

应时间为3秒,然后到PageDownloadTimeBreakdown(OverTime)中找2.035秒action事务的

各个时间,包括DNSResolution、Connection、FirstBuffer、Receive、ClientTime,对比这些

数据做对比分析,主要是将细分时间累加,然后和事务响应时间做比较。

脚本:访问录制在Action中(为了分析的简便,我只保留了一个web_url,删除了另外一个

web_url)

场景:Vusers:1

RunMode:Rununtilcomplete

ThinkTime:lgnore

RunLogic:run*20action

试验一:

运行时设置中将“Simulateanewuseroneachiteration”的选项取消,执行测试。对照

AverageTransactionResponseTime和PageDownloadTimeBreakdown(OverTime)的数据。

结果:除第一个事务外,发现FirstBuffer+Receive+ClientTime=事务响应时间;

文档评论(0)

1亿VIP精品文档

相关文档