【性能测试】压力测试指标全解之TPS、响应时间
hello,大家好!我是磨磨唧唧小蘑菇~
接上期阐述了《TP50/90/99/999》的含义及计算方式,本期将阐述压力测试的其他指标,如TPS、响应时间等。
目录
一、TPS
二、响应时间
三、TPS与响应时间RT的关系
一、TPS
1、TPS的含义
Transactions Per Second的缩写,即每秒处理的事务数量(事务数/秒),它是软件测试结果的计量单位。
一个事务是指:客户端向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,在收到服务器响应结果后结束计时,以此来计算使用时间和完成的事务数,然后利用使用时间和事务数来计算TPS的值。即:TPS = 事务数/时间(单位:秒)
举个栗子:
一个单接口定义为一个事务,那么每个事务包含如下3个步骤:
- 客户端向服务器发送请求
- 服务器内部处理接收到的请求(包含应用服务器、数据库服务器等)
- 服务器处理完请求后返回结果给客户端
以上一个单接口的事务,三个步骤全部完成的话,每分钟能够完成6000次,那么TPS的计算就是:6000(事务数)/60(时间,单位为秒)= 100,即TPS = 100
2、TPS的作用:
- 反映系统在同一时间内处理业务的最大能力,这个数据越高,说明处理能力越强(TPS会受到负载的影响,会随着负载增加而逐渐增加,当系统进入繁忙期后,TPS会有所下降)
- 评价系统性能:以每秒钟完成的技术交易的数量来衡量,系统整体处理能力取决于处理能力最低模块的TPS值
二、响应时间
1、响应时间的含义
Response Time的缩写,简称为RT(响应时间)它是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。那么何为响应时间呢?看下图说话:
从图中可以看出,在没有缓存的情况下,客户端发出请求后,需要经过网络传输、DNS解析等步骤才能到达服务器,服务器处理完之后,经由网络传输返回客户端,而客户端接收到以后,要进行解析渲染展示给用户。所以,可以总结出:
响应时间RT = 服务请求时间(网络传输时间) + 服务器处理时间(服务接口逻辑处理时间) + 网络响应返回时间(网络传输时间) + 页面前端解析渲染时间
2、响应时间的指标确定
在进行性能测试时,“合理的响应时间”取决于用户的需求,而不能依据测试人员自己设想来决定。对于响应时间范围,有一个普遍的标准:早期是2/5/10秒原则,如今随着技术的发展,用户的要求也提高了,逐渐朝1/3/5秒原则演变。
1/3/5秒原则:
- 在1s以内得到响应,用户会觉得系统响应很快,体验非常好
- 1-3秒得到响应,用户可以接收,体验还不错
- 3-5秒才响应,用户就感觉慢了,体验有点糟糕
- 响应超过5秒,用户会认为是个失败的体验,选择离开或重新发起请求
实际上,对于不同的业务系统,用户可接受的响应时间是不一样的,需要针对自己的业务场景来做统计量化的工作。
总结一下,如何去确定响应时间:
- 确定系统功能和使用路径
- 收集性能目标(调查客户对响应时间的满意值)
- 量化性能目标(包括分解性能目标、量化各部分性能目标)
- 满足性能目标
综合以上,就可以去明确响应时间这个指标。
三、TPS与响应时间RT的关系
进行性能测试时,需要模拟用户向服务器发送请求,如果服务器处理请求的能力越快,那么就是响应时间越快,所以TPS就会越高。但随着我们启动越来越多的虚拟用户数,就会把服务器堵住,服务器因此处理速度会变慢,导致TPS降低。
综上,TPS和响应时间的关系是:响应时间越短,TPS越高;响应时间越长,TPS越低。
文中所有观点只代表个人,有不足之处,欢迎指正,不胜感激!!!
【性能测试】压力测试指标全解之TPS、响应时间相关推荐
- 【性能测试】压力测试指标全解之TP指标(50/90/99/999)
hello,大家好!我是磨磨唧唧小蘑菇~ 大促压测参与了好几次,每次监控压测指标的时候,都处于一知半解的状态,碰上有人问我啥意思只能尴尬的老脸一红,都不好意思承认自己是大厂软件测试.最近,经过一番恶补 ...
- 压力测试指标(QPS、TPS、PV、RT)
QPS(Queries Per Second)每秒查询 每秒查询数率,系统每秒能够处理的查询请求次数,即一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. ...
- jmeter 压力测试教程全解
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Jmeter5.0 下载地址:http://jmeter.apache.org/download_jmeter.cgi wget -c http:// ...
- WEB网站压力测试教程详解
WEB 网站压力测试教程详解 Web 服务处于分布式计算的核心位置,它们之间的交互通常很难测试.分布式开发.大型的开发者团队以及对代码日益组件化的期望都有可能使 Web 服务的开发变得越来越容易隐藏错 ...
- 性能测试-----压力测试,负载测试,强度测试,容量测试
性能测试-----压力测试,负载测试,强度测试,容量测试 性能测试(或称为多用户并发性测试), 负载测试,强度测试,容量测试 是性能测试领域的几个方面,但是概念容易混淆.下面将几个概念进行介绍. 性能 ...
- Jmeter 压力测试步骤详解
目录 1.准备工作:安装 Jmeter 2.开始压力测试 (1)首先需要创建线程组 (2)创建 HTTP 请求 (3)添加察看结果树 (4)添加聚合报告 3.完整的测试步骤图示 Jmeter 压力测试 ...
- 性能测试, 压力测试 , 负载测试和 容量测试 的区别与联系
负载测试(Load Test).压力测试(Stress Test).容量测试(Capability Test)与性能测试(Performance Test)是相互关系? 性能测试包括负载测试.压力测试 ...
- 性能测试/压力测试/负载测试
1)性能测试 概念 性能测试是通过自动化测试工具来模拟多人.多并发并行请求.各种方式的请求等条件来对功能或者系统的各项性能指标(硬件资源使用情况.系统响应时间等)进行测试. 例子1 性能需求中要求系统 ...
- 【托管服务qin】WEB网站压力测试教程详解
Web 服务处于分布式计算的核心位置,它们之间的交互通常很难测试.分布式开发.大型的开发者团队以及对代码日益组件化的期望都有可能使 Web 服务的开发变得越来越容易隐藏错误.这些类型的错误极难检测出来 ...
最新文章
- Painting A Board --POJ 1691
- 漫话云计算,这次加了点儿剧情
- 如何实现软件的远程更新_手机免root终于也能实现远程控制了 这款国产软件真是越来越好用...
- JavaJDBC【三、增删改查】
- 自学python好找工作么-学完Python好找工作吗?为什么有人学完找不到工作?
- 开发板Linux内核,芯灵思SinlinxA33开发板Linux内核workqueue(附实测代码)
- python urllib2详解及实例
- Logisim新手入门实验
- 开源微服务框架 汇总
- EXCEL电子表格使用技巧
- 2021年电工(中级)报名考试及电工(中级)考试资料
- 线上活动重大事故总结
- vue项目接入监控视频(360浏览器)
- 腾讯发布的开发语言安全指南:C/C++安全指南
- flume+kafka+storm整合02---问题
- JAVA8线程池THREADPOOLEXECUTOR底层原理及其源码解析
- python 文件批量复制,批量改名
- 软件过程开发方法(RUP、AP、MP、HP) CMMI/SPCA业务介绍
- 2021最新Java面试真题解析!java写九九乘法表代码
- 商业地产如何走出高空置率困局?