LR学习笔记之—事务(性能测试进阶指南LR11)
2012-11-09 16:34
323 查看
一、对事务的理解
在LR中什么是事务,事务是记录从客户端到服务器端,服务器端返回到客户端应答的时间,可以反映出一个操作所用的时间。那么事务的时间主要是由响应时间、事务自身时间、浪费时间(wasted time)组成。
二、事务响应时间的组成
网络时间(web server和APP server时间)
服务器处理时间(web服务器、app服务器、数据库服务器的处理时间)
网络延迟时间(前端Network、后端服务)
前端network延迟时间包含:
DNS Lookup:DNS域名解析服务,是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。
Time to connect
Time to first buffer:第一次缓冲时间,成功收到从Web服务器返回的第一次缓冲之前的这一段时间内的每个页面组件的相关服务器/网路时间
Network time
Download time
SSL handshake:SSL握手协议,建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
FTP authentication
Client time
Error time
网络延迟
后端服务延迟时间主要有Web server、APP server、Database server组成:
Web server:
servlet time
method time
静态动态压缩
APP server
EJB time
Methond time
JNDI Lookup
Database server
JDBC time
Connect time
Execute time
以上事务响应时间摘抄自《性能测试进阶指南LR11》,其中网络延迟时间自己的理解,前端应该是用户在进行操作,如输入了URL地址从浏览器到网络的时间。
三、事务自身时间(插入事务即使事务中没有操作,也需要时间)
事务的时间一般在1/100秒左右,因此可以忽略
四、浪费时间(Wasted Time)
浪费时间是事务中应该扣除的由于其他原因导致的时间浪费,如:执行一个计算密钥的程序,会浪费很多时间,这时候需要通过计算出wasted time来过滤事务时间
五、事务函数
lr_start_transaction("事务名称"):事务开始
lr_end_transaction("事务名称","事务状态"):事务结束,结束状态LR_AUTO,LR_PASS,LR_FAIL,LR_STOP
lr_start_timer():与lr_end_timer()联合使用可以得到程序运行的时间
lr_end_timer():与lr_start_timer()联合使用可以得到程序运行的时间
lr_get_transaction_duration(const char *transaction):返回事件执行到此所用的时间
例子:
lr_start_transaction("事务名称")
timer=lr_start_timer()
//所需计算时间的程序
(略)
trans_time=lr_get_transaction_duration(”事务名称");//返回事件执行到此处所用的时间
wasted_timer=lr_end_timer(timer);// lr_start_timer() 执行到 lr_start_end() 所用时间
lr_end_transaction("事务名称","事务状态")
六、手工事务
对于自动结束状态的事务来说(LR_AUTO),只要服务器给用户返回了信息,就会认为事务是通过的。因此需要手工事务来进行判断
例:如用户注册,已经注册过的用户通过LR_AUTO来进行判断,最后依然会显示事务成功
可以用web_reg_find()函数来对登陆失败或者登陆成功以后页面进行文字的查找,对事务进行判断
Login
{
web_reg_find("Search=Body","SaveCount=regst","Text=登陆成功',LAST);
lr_start_transaction("regstnewuser");
//录制的登陆代码
(略)
if(aton(lr_eval_string("{regst}"))>=1)
lr_end_transaction("regstnewuser",LR_PASS);
else
lr_end_transaction("regstnewuser",LR_FAIL);
}
在LR中什么是事务,事务是记录从客户端到服务器端,服务器端返回到客户端应答的时间,可以反映出一个操作所用的时间。那么事务的时间主要是由响应时间、事务自身时间、浪费时间(wasted time)组成。
二、事务响应时间的组成
网络时间(web server和APP server时间)
服务器处理时间(web服务器、app服务器、数据库服务器的处理时间)
网络延迟时间(前端Network、后端服务)
前端network延迟时间包含:
DNS Lookup:DNS域名解析服务,是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。
Time to connect
Time to first buffer:第一次缓冲时间,成功收到从Web服务器返回的第一次缓冲之前的这一段时间内的每个页面组件的相关服务器/网路时间
Network time
Download time
SSL handshake:SSL握手协议,建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
FTP authentication
Client time
Error time
网络延迟
后端服务延迟时间主要有Web server、APP server、Database server组成:
Web server:
servlet time
method time
静态动态压缩
APP server
EJB time
Methond time
JNDI Lookup
Database server
JDBC time
Connect time
Execute time
以上事务响应时间摘抄自《性能测试进阶指南LR11》,其中网络延迟时间自己的理解,前端应该是用户在进行操作,如输入了URL地址从浏览器到网络的时间。
三、事务自身时间(插入事务即使事务中没有操作,也需要时间)
事务的时间一般在1/100秒左右,因此可以忽略
四、浪费时间(Wasted Time)
浪费时间是事务中应该扣除的由于其他原因导致的时间浪费,如:执行一个计算密钥的程序,会浪费很多时间,这时候需要通过计算出wasted time来过滤事务时间
五、事务函数
lr_start_transaction("事务名称"):事务开始
lr_end_transaction("事务名称","事务状态"):事务结束,结束状态LR_AUTO,LR_PASS,LR_FAIL,LR_STOP
lr_start_timer():与lr_end_timer()联合使用可以得到程序运行的时间
lr_end_timer():与lr_start_timer()联合使用可以得到程序运行的时间
lr_get_transaction_duration(const char *transaction):返回事件执行到此所用的时间
例子:
lr_start_transaction("事务名称")
timer=lr_start_timer()
//所需计算时间的程序
(略)
trans_time=lr_get_transaction_duration(”事务名称");//返回事件执行到此处所用的时间
wasted_timer=lr_end_timer(timer);// lr_start_timer() 执行到 lr_start_end() 所用时间
lr_end_transaction("事务名称","事务状态")
六、手工事务
对于自动结束状态的事务来说(LR_AUTO),只要服务器给用户返回了信息,就会认为事务是通过的。因此需要手工事务来进行判断
例:如用户注册,已经注册过的用户通过LR_AUTO来进行判断,最后依然会显示事务成功
可以用web_reg_find()函数来对登陆失败或者登陆成功以后页面进行文字的查找,对事务进行判断
Login
{
web_reg_find("Search=Body","SaveCount=regst","Text=登陆成功',LAST);
lr_start_transaction("regstnewuser");
//录制的登陆代码
(略)
if(aton(lr_eval_string("{regst}"))>=1)
lr_end_transaction("regstnewuser",LR_PASS);
else
lr_end_transaction("regstnewuser",LR_FAIL);
}
相关文章推荐
- WEB 性能测试-介绍 学习笔记
- .NET深入学习笔记(1):DataSet和SqlDataReader性能差异深入剖析与测试(1)
- Memcached学习笔记 — 第四部分:Memcached Java 客户端-gwhalin(2)-性能测试
- Delphi-IOCP学习笔记<九>======性能测试和IOCP源码下载<5000个连接数>
- Transaction Response Time事务响应时间图-我整理的LR性能测试结果分析
- 性能测试学习笔记-如何管理loadrunner的临时文件
- .NET深入学习笔记(1):DataSet和SqlDataReader性能差异深入剖析与测试(2)
- ORACLE性能诊断―学习statspack笔记(一) [安装与测试]
- Spring学习笔记之Spring事务及事务测试
- Android学习之笔记---traceView的测试与android的性能优化
- Jmeter进阶学习笔记(对性能、接口测试的进阶学习)
- .NET深入学习笔记(1):DataSet和SqlDataReader性能差异深入剖析与测试
- 软件测试实验学习笔记系列7--性能测试
- SQLite介绍、学习笔记、性能测试
- 【性能测试】性能测试学习笔记(1)
- 【MPI学习笔记】5:传统形式的方阵向量并行乘法及性能测试
- jmeter学习笔记(三)-性能测试概念
- 性能测试工具【http_load】学习笔记
- 16、编译安装bind 9.10.6及queryperf性能测试 学习笔记
- 【学习笔记】系列八:Web性能压力测试工具之ApacheBench(ab)详解