最近项目中遇到相关性能测试不同方法产生的争议,我这就这个问题在测试环境做了个实验,得出一些指标数据间的有趣关系,供大家讨论学习:

预备知识点:

业界有个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   Request Current:4.6  U并发=TPS*ART=3.4*1.4=4.76

请求用户数:75;     pacing time:15s;   理论PV:75/15=5;

TPS:4.5;  ART:1.5   Request Current:6.6  U并发=TPS*ART=4.5*1.5=6.75

请求用户数:100;    pacing time:20s;   理论PV:100/20=5;

TPS:4.5;  ART:1.6   Request Current:6.9  U并发=TPS*ART=4.5*1.5=7.2

1.从上面的数据可以看出实际的Request Current(实际PV/s量)几乎接近实际的并发量,而在有pacing time情况下理论PV和实际PV是随着模拟请求用户数的变化两者的差别变化也是较大,有交集但不同步变化,这个方式不可以预见实际并发量,只能通过测试结果来判断大概的实际并发量,但可以很好的控制模拟请求。

无思考时间和无迭代pacing time情况:

请求用户数:5;       pacing time:无;   理论PV:5;

TPS:3.56;  ART:1.4   Request Current:4.75  U并发=TPS*ART=3.56*1.4=4.98

请求用户数:10;      pacing time:无;   理论PV:10;

TPS:7.69;  ART1.3:   Request Current:9.4   U并发=TPS*ART=7.69*1.3=9.99

请求用户数:15;      pacing time:无;   理论PV:15;

TPS:8.4;  ART:1.7    Request Current:14.4   U并发=TPS*ART=8.4*1.7=14.28

2.从上面的数据可以看出实际的Request Current(实际PV/s量)几乎接近实际的并发量,并且在无pacing time和思考时间情况下理论PV和实际PV和实际并发量几乎同步保持一致(我们目前大多数情况采用的都是这个方式压测)。

这里只针对一个transaction对应一个URL请求的情况,特别是接口类的。

其实两个方法都是性能测试中针对不同测试目的而使用的,各有特点。

关于性能测试中LR的pacing time设置的相关实验的更多相关文章

  1. 性能测试基础---LR运行设置

    ·LR的运行时设置(Runtime settings): ·Run Logic:该选项是用来控制脚本的真正的运行逻辑. ·该选项会把脚本中的函数分别放入三个运行模块中:Init.Run.End ·默认 ...

  2. 性能测试中TPS和并发用户数

    并发用户数与TPS之间的关系 1.  背景 在做性能测试的时候,很多人都用并发用户数来衡量系统的性能,觉得系统能支撑的并发用户数越多,系统的性能就越好:对TPS不是非常理解,也根本不知道它们之间的关系 ...

  3. LoadRunner性能测试中Controller场景创建需注意的几点

    在LR工具做性能测试中,最关键的一步是Controller场景的设计,因为场景的设计与测试用例的设计相关联,而测试用例的执行,直接影响最终的测试结果是怎么的,因此,我们每设计一种场景,就有可能是一个测 ...

  4. BizTalk开发系列(三十七) 性能监视器在BizTalk性能测试中的使用

    BizTalk应用程序的性能测试和分析是一个非常重要的过程,因为BizTalk的应用程序在Run-time时受部署结构.消息请求数量和消息大小等 的影响很大,因此无论是简单还是复杂的的应用都需要在部署 ...

  5. LoadRunner中的IP欺骗的设置以及误区

    LoadRunner中的IP欺骗的设置以及误区 最近在忙着部署web性能测试的环境后,对IP欺骗进行设置,特地做个笔记,给自己的学习历程留下点足迹. 一. 什么是IP欺骗? 做什么事首先要问个为什么, ...

  6. 性能测试中的TPS与HPS

    性能测试中的TPS与HPS TPS(Transaction per second) 是估算应用系统性能的重要依据.其意义是应用系统每秒钟处理完成的交易数量.一般的,评价系统性能均以每秒钟完成的技术交易 ...

  7. 性能测试中TPS上不去的几种原因

    性能测试中TPS上不去的几种原因 什么叫TPS: TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为 ...

  8. ubuntu 14 中tomcat的开机启动设置

    开机自启动,将要执行的语句写入/etc/rc.local. #!/bin/sh -e # # rc.local # # This script is executed at the end of ea ...

  9. hibernate中保存一个对象后再设置此对象的属性为什么不需要调用update方法了

    hibernate中保存一个对象后再设置此对象的属性为什么不需要调用update方法了 例如session.save(user);user.setAge(20); 原因: hibernate对象的三种 ...

随机推荐

  1. 【spark】常用转换操作:sortByKey()和sortBy()

    1.sortByKey() 功能: 返回一个根据键排序的RDD 示例 val list = List(("a",3),("b",2),("c" ...

  2. laravel中Blade模板继承

    Blade模板继承 和 区块 <!-- 文件保存于 resources/views/layouts/app.blade.php --> <html> <head> ...

  3. PowerDesigner 概念数据模型

    (转自:http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html) 目标:本文主要介绍PowerDesigner中概念数据模型 CD ...

  4. [置顶] kubernetes1.7新特性:新增StorageOS卷插件和Local持久存储

    背景介绍 在Kubernetes中卷的作用在于提供给POD存储,这些存储可以挂载到POD中的容器上,进而给容器提供存储. 从图中可以看到结构体PodSpec有个属性是Volumes,通过这个Volum ...

  5. ng 双向数据绑定 实现 注册协议效果

    效果: 代码: <!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> ...

  6. 自己如何获取ADO连接字符串

    自己如何获取ADO连接字符串 摘自:http://blog.csdn.net/zyq5945/article/details/5586423 有时候我们参考网上的ADO连接字符串写未必就能连接上数据库 ...

  7. 在ubuntu16.04上安装php7 mysql5.7 nginx1.10并支持http2

    安装nginx 首先更新软件包 并且安装nginx sudo apt-get update sudo apt-get install nginx 开放防火墙配置 sudo ufw allow 'Ngi ...

  8. C高级第一次作业附加

    之前的作业链接:http://www.cnblogs.com/1204113692yang/p/8625650.html 过去两周学习了指针的概念.指针变量的定义.指针的基本运算.指针操作改变主调函数 ...

  9. linux之管道

    1. 进程间通信概述 进程是一个独立的资源分配单元,不同进程之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源.进程不是孤立的,不同的进程需要进行信息的交互和状态的传递等,因此需要 ...

  10. 为加载......符号 vs2012调试缓慢解决方案

    调试C#网站时vs2012一直 为xxx加载符号 本机上的2010 2017 没有此毛病 没一步都要等待好几秒,百度狗狗(大概花了半天时间)后的方法无果 最后在vs官方论坛 好多老外说删除全部断点就行 ...