LR-事务
一、对事务的理解 在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}"))>=) lr_end_transaction("regstnewuser",LR_PASS); else lr_end_transaction("regstnewuser",LR_FAIL); }
LR-事务的更多相关文章
- LR事务、集合点
事务(Transaction):为了衡量服务器的性能,我们需要定义事务.比如:我们在脚本中有一个数据查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚本时,Lo ...
- lr事务
事务:transaction(性能里面的定义:客户机对服务器发送请求,服务器做出反应的过程) 用于模拟用户的一个相对完整的业务操作过程:如登录,查询,交易等操作(每次http请求不会用来作为一个事务) ...
- LoadRunner学习笔记
什么是性能测试: 简单说,功能测试是软件是否能用,性能测试是看软件好不好用: 性能测试的含义,大体来讲就是通过自动化的手段,模拟生产运行的业务压力或者相应的场景,来测试协同系统是否满足生产需要. 性能 ...
- 对LR analysis的平均事务响应时间和summary中时间值不同的解释
最近在做性能测试对LR结果分析时,又碰到了关于summary里与平均事务响应时间中各交易的响应时间值不同的问题.在此做个记录. 若交易中设置了思考时间,分析时需要注意查看是否过滤思考时间. 设置是否包 ...
- 性能学习笔记之四--事务,思考时间,检查点,集合点和手写lr接口
一.事物,思考时间,检查点,集合点 1.事务 lr里面的事物是lr运行脚本的基础.lr里面 要测试的三个维度都以事物为单位,所以一定要有事物.事务的概念贯穿loadrunner的使用,比如我们说的响应 ...
- Redis学习笔记~Redis事务机制与Lind.DDD.Repositories.Redis事务机制的实现
回到目录 Redis本身支持事务,这就是SQL数据库有Transaction一样,而Redis的驱动也支持事务,这在ServiceStack.Redis就有所体现,它也是目前最受业界认可的Redis ...
- javaweb学习总结(三十八)——事务
一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句 update from account set mone ...
- LR录制Flex+Web,登录功能之登录密码出错的处理
在LR中录制好更改密码脚本,Controller中使用少量用户进行:单用户多迭代.多用户单迭代.多用户多迭代,运行正常,于是使用490Vuser+2iteration修改980个用户的密码,部分 Vu ...
- loadrunner关联和事务
1.关联 不关联,录制没有问题,回放时可能会出错. 排除字符限制,输入因素,如果自己手动操作网页时不会报错,回放时报错,那么可以肯定,有数据需要使用关联. 如果录制没有错误,且对脚本没有进行任何修改, ...
- LR常见问题整理
1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. LR11 无法弹出ie浏览 ...
随机推荐
- fork系统炸弹
最近偶然看到"fork系统炸弹"的代码,小小一行shell竟然能够直接搞死系统,令人印象深刻. 代码如下 :(){ :|:& };: 咋一看有点蒙,重新排版下格式 :() ...
- Java中String的替换函数:replace与replaceAll的区别
例如有如下x的字符串 String x = "[kllkklk\\kk\\kllkk]"; 要将里面的"kk"替换为++,可以使用两种方法得到相同的结果 r ...
- 从一个集合中过滤另一个集合中存在的项(类似in)
直接贴代码出来: List<PriceMark> list = PriceMarkDAL.m_PriceMarkDAL.GetList("Erp_ProName='TLC7528 ...
- GridControl详解(四)分组排序汇总
分组: 按时间分第一组: 按性别分第二组: 显示结果: 高级设置: 将所有组展开代码:gridView1.ExpandAllGroups(); 显示结果: 自定义组名,GridView级事件 增加事件 ...
- 初学者必看:.NET 中的静态与非静态的异同
对于初学者来说,.NET 的静态和非静态一直比较难掌握,这里做一个总结,介绍静态类和普通类,静态方法和实例方法,静态构造函数和实例构造函数,静态字段和非静态字段的区别. 静态类 vs 普通类 静态类与 ...
- Mock InjectMocks ( @Mock 和 @InjectMocks )区别
之前一直对这两个注解的区别不是很明白. 搜到过一篇博客园的文章举例说明了代码行为的区别.后来在stackoverflow上看到一个问答简单明了的解释了这两个注解在定义上的区别: 在此翻译记录一下: / ...
- CodeForces 869B
Even if the world is full of counterfeits, I still regard it as wonderful. Pile up herbs and incense ...
- python作业类Fabric主机管理程序开发(第九周)
作业需求: 1. 运行程序列出主机组或者主机列表 2. 选择指定主机或主机组 3. 选择让主机或者主机组执行命令或者向其传输文件(上传/下载) 4. 充分使用多线程或多进程 5. 不同主机的用户名密码 ...
- java检验银行卡号
/* 校验过程: 1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,将个位十位数字相加,即将其减去9),再求和 ...
- idea 控制台乱码
第一步:修改intellij idea配置文件: 找到intellij idea安装目录,bin文件夹下面idea64.exe.vmoptions和idea.exe.vmoptions这两个文件,分别 ...