最近项目中遇到相关性能测试不同方法产生的争议,我这就这个问题在测试环境做了个实验,得出一些指标数据间的有趣关系,供大家讨论学习: 预备知识点: 业界有个TPS ,ART和实际并发量三者间的模拟换算公式:U实际并发量=TPS*ART均值 LR有个.net4.0的计数器Request Current能反应实际的测试过程中实际的PV/s量 设置迭代pacing time情况: 请求用户数:15;     pacing time:3s;   理论PV:15/3=5; TPS:3.4;  ART:1.4 …
·LR的运行时设置(Runtime settings): ·Run Logic:该选项是用来控制脚本的真正的运行逻辑. ·该选项会把脚本中的函数分别放入三个运行模块中:Init.Run.End ·默认情况下,vuer_init函数会放在Init部分.vuser_end会放在End部分.其他acthon函数会按原始顺序放入Run部分. ·执行逻辑:LR会按顺序依次执行Init.Run和End这三个模块. ·其中Init和End模块在每一个虚拟用户(线程或者进程)的生命周期中只会执行一次:Run模块…
并发用户数与TPS之间的关系 1.  背景 在做性能测试的时候,很多人都用并发用户数来衡量系统的性能,觉得系统能支撑的并发用户数越多,系统的性能就越好:对TPS不是非常理解,也根本不知道它们之间的关系,因此非常有必要进行解释. 2.  术语定义 Ø  并发用户数:指的是现实系统中操作业务的用户,在性能测试工具中,一般称为虚拟用户数(Virutal User),注意并发用户数跟注册用户数.在线用户数有很大差别的,并发用户数一定会对服务器产生压力的,而在线用户数只是 ”挂” 在系统上,对服务器 不产…
在LR工具做性能测试中,最关键的一步是Controller场景的设计,因为场景的设计与测试用例的设计相关联,而测试用例的执行,直接影响最终的测试结果是怎么的,因此,我们每设计一种场景,就有可能是一个测试用例的执行(一个场景设计里面可以有多个脚本,场景计划方式可以按组方式,也可以按场景方式),如果场景的设计不正确或不合理,那也无谓在Analysis中结果分析了,对吧? 下面分享一下,在Controller设计场景时需要注意和理解的问题: 1.  在场景中持续时间设置将覆盖Vuser迭代设置.这意味…
BizTalk应用程序的性能测试和分析是一个非常重要的过程,因为BizTalk的应用程序在Run-time时受部署结构.消息请求数量和消息大小等 的影响很大,因此无论是简单还是复杂的的应用都需要在部署到生产环境之前执行这一过程. 一般在性能测试中通过Windowns系统自带的性能能监视器来采集相关的数据, 并根据这些计数器的值来判断应用程序的性能瓶颈和负载大小. 虽然Windows性能监视器大家应该不陌生了,但是如果使用方法不正确的话不仅可能得不到你要的数据,还有可能使你白白做了测试.接下来将主…
LoadRunner中的IP欺骗的设置以及误区 最近在忙着部署web性能测试的环境后,对IP欺骗进行设置,特地做个笔记,给自己的学习历程留下点足迹. 一. 什么是IP欺骗? 做什么事首先要问个为什么,如果知道为什么了,即使不知道如何做,简单,google it,答案总会找得到,google.cn不行,google.com总行,来自全球的搜索结果,总会有帮助. IP spoof即IP 电子欺骗,我们可以说是一台主机设备冒充另外一台主机的IP地址,与其它设备通信,从而达到某种目的技术. IP是网络层…
性能测试中的TPS与HPS TPS(Transaction per second) 是估算应用系统性能的重要依据.其意义是应用系统每秒钟处理完成的交易数量.一般的,评价系统性能均以每秒钟完成的技术交易的数量来衡量. 系统整体处理能力取决于处理能力最低模块的TPS 值.依据经验,应用系统的处理能力一般要求在10-100左右.不同应用系统的TPS有着十分大的差别,一般需要通过性能测试进行准确估算. HPS:Hits per Second 每秒点击次数是指在一秒钟的时间内用户对Web页面的链接.提交按…
性能测试中TPS上不去的几种原因 什么叫TPS: TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位.     TPS上不去的可能原因: 1.网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限. 2.连接池 可用的连接数太少,造成请求等待.连接池一般分为服务器…
开机自启动,将要执行的语句写入/etc/rc.local. #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this…
hibernate中保存一个对象后再设置此对象的属性为什么不需要调用update方法了 例如session.save(user);user.setAge(20); 原因: hibernate对象的三种状态.瞬时态(没有id,不与session关联)持久态(有id,与session关联)托管态(有id,不与session关联) User user = new User();//新建的对象是瞬时态 session.save(user);//save后,user变成持久态 user.setAge(20…