【性能测试】压力测试指标全解之TPS、响应时间

news2024/11/26 0:45:53

hello,大家好!我是磨磨唧唧小蘑菇~  

接上期阐述了《TP50/90/99/999》的含义及计算方式,本期将阐述压力测试的其他指标,如TPS、响应时间等。

目录

一、TPS

二、响应时间

三、TPS与响应时间RT的关系

一、TPS

1、TPS的含义

Transactions Per Second的缩写,即每秒处理的事务数量(事务数/秒),它是软件测试结果的计量单位。

一个事务是指:客户端向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,在收到服务器响应结果后结束计时,以此来计算使用时间和完成的事务数,然后利用使用时间和事务数来计算TPS的值。即:TPS = 事务数/时间(单位:秒)

举个栗子:

一个单接口定义为一个事务,那么每个事务包含如下3个步骤:

  1. 客户端向服务器发送请求
  2. 服务器内部处理接收到的请求(包含应用服务器、数据库服务器等)
  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秒,用户会认为是个失败的体验,选择离开或重新发起请求

实际上,对于不同的业务系统,用户可接受的响应时间是不一样的,需要针对自己的业务场景来做统计量化的工作。

总结一下,如何去确定响应时间:

  1. 确定系统功能和使用路径
  2. 收集性能目标(调查客户对响应时间的满意值)
  3. 量化性能目标(包括分解性能目标、量化各部分性能目标)
  4. 满足性能目标

综合以上,就可以去明确响应时间这个指标。

三、TPS与响应时间RT的关系

进行性能测试时,需要模拟用户向服务器发送请求,如果服务器处理请求的能力越快,那么就是响应时间越快,所以TPS就会越高。但随着我们启动越来越多的虚拟用户数,就会把服务器堵住,服务器因此处理速度会变慢,导致TPS降低。

综上,TPS和响应时间的关系是:响应时间越短,TPS越高;响应时间越长,TPS越低。

文中所有观点只代表个人,有不足之处,欢迎指正,不胜感激!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/666725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vscode折叠代码展开快捷键

1.折叠所有代码 (按住ctrl 分别点击k和0) ctrlk,ctrl0 2.展开所有代码 (按住ctrl 分别点击k和j) ctrlk,ctrlj 3. 折叠鼠标竖线所在位置的节点以及当前节点下的子节点(递归折叠) ctrlk,ctrl[ 4. 展开鼠标竖线所在位置的节点以及当前节点下的子节点&#x…

【Springboot】关于Spring和SpringBoot的那些事儿

参考javaguide的学习笔记~ 1 怎么那么多名字呀~ 一开始看到这个图太劝退了,但实际上一开始只需要理解它是一个框架,包含很多个模块,能够简化开发。 使得接收HTTP请求,查数据库,写业务逻辑三部分能够分开。 并且能很…

【2023最全最叼教程】Selenium 自动化测试环境搭建

【导语】Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。本文详细介绍了搭建自动化测试环境所需的工具,让你学习自动化测试不…

人脸检测——基于机器学习3】AdaBoost算法

简介 主要工作AdaBoost算法的人脸检测算法包含的主要工作:(1)通过积分图快速求得Haar特征;(2)利用AdaBoost算法从大量的特征中选择出判别能力较强的少数特征用于人脸检测分类;(3)提出一个级联结构模型,将若干个弱分类器集成一个强分类器,其能够快速排除非人脸区域,…

系统架构设计师-系统工程与信息系统基础(2)

一、电子政务类型 电子政务主要有3类角色:政府(Government)、企(事)业单位(Business)及公民(Citizen)。如果有第4类就是公务员(Employee)。 二、企…

CMIP6降尺度方法

气候变化关系到农业、生态系统、社会经济和人类生存与发展,是当今世界关注的重点问题之一。IPCC(Intergovernmental Panel on Climate Change)第6次评估报告指出,自 20 世纪 50 年代以来,从全球平均气温和海温升高、大…

Unity核心10——导航寻路系统

Unity 中的导航寻路系统是能够让我们在游戏世界当中,让角色能够从一个起点准确的到达另一个终点,并且能够自动避开两个点之间的障碍物选择最近最合理的路径进行前往 ​ Unity 中的导航寻路系统的本质,就是在 A 星寻路算法的基础上进行了拓展和…

国家加强互联网广告监管

我是卢松松,点点上面的头像,欢迎关注我哦! 5月1日《互联网广告管理办法》正式实施。 6月19日,市场监督总局要求加强广告监管。 主要针对直播带货广告、弹窗广告、“软文”广告等新型广告形式,加大互联网广告乱象清理…

HDLBits自学笔记3:Verilog language.Modules Hierarchy

Modules 在顶层模块中实例化模块mod_a,其端口描述: module mod_a ( input in1, input in2, output out ); module top_module ( input a, input b, output out );// 按信号名称连线mod_a u1(.in1(a),.in2(b),.out(out));// 按信号位置连线// mod_a u…

基于数据驱动 U-Net 模型的大气污染物扩散快速预测,提升计算速度近6000倍

项目背景 当前,常见的大气污染预测模型大多是基于物理机理构建的,比如空气质量预测模型 Calpuff、AERMOD、CMAQ 等。然而,这些模型运算较为复杂,对于输入数据的要求非常高,运算耗时也比较长,适合用于常规固…

【玩转Docker小鲸鱼叭】Docker镜像常用命令汇总

镜像是Docker中最为核心也是最具创造性的概念!在理解Docker的核心概念文章中,我们理解了镜像的含义,下面让我们一起操作一些镜像,包括拉取、推送镜像等操作。 1、镜像支持哪些命令 通过 docker image help 查看 Docker 支持的镜像…

联想U盘重装系统Win10步骤和详细教程

最近很多用户都在问怎么利用U盘来给联想电脑重装Win10系统,用户需要准备一个8G以上的U盘,确保联想电脑能够正常联网,然后按照小编给大家分享的联想U盘重装系统Win10步骤和详细教程操作,即可快速轻松完成联想电脑Win10系统的重装。…

C++——cin输入

cin对象在抽取过程中会进行类型转换&#xff0c;这应该是根据字节数来的&#xff0c;对于每一种类型&#xff0c;都会有相应的指令合集&#xff0c;也就是cpu会按字节进行转换&#xff0c;区别在于大端模式或者是小端模式&#xff0c;cin对象从在了<<相应的函数被称为格式…

陪诊APP开发服务兼职软件

陪诊APP是一种提供陪伴照顾服务的应用程序&#xff0c;主要面向需要医院陪护的病人及家属。以下是可能有助于陪诊APP开发服务兼职软件的功能&#xff1a; 注册和登录&#xff1a;允许用户使用手机号码等方式注册并登录账户。 病房预约&#xff1a;允许家属为病人预约病…

数据烦恼?亮数据平台为你提供一站式解决方案

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 在当今数字时代&#xff0c;大型和实时的数据集具有更全面的信息、更准确的预测、和更好的竞争优势。作为一位刚被数据折磨过的人&#xff0c;我必须要把自己的经验跟大家分享一下&#xff0c;让大家和公司在收集数据方面…

构筑数字化新引擎!美创助力金华银行核心系统国产分布式数据库迁移

近日&#xff0c;金华银行举行“星辉工程”核心项目群上线发布会&#xff0c;新一代核心系统成功部署在国产分布式数据库OceanBase&#xff0c;向业务高效创新、数智赋能迈出了重要一步。据悉&#xff0c;这是浙江省首例基于完全国产自研数据库落地的银行核心系统。 此次“星辉…

[PyTorch][chapter 43][时间序列表示方法1]

前言&#xff1a; 语言模型&#xff08;LM&#xff09;起源于语音识别(speech recognition)&#xff0c;输入一段音频数据&#xff0c;语音识别系统通常会生成多个句子作为候选&#xff0c;究竟哪个句子更合理&#xff1f;就需要用到语言模型对候选句子进行排序。 language mod…

【算法题解】40. 数组的度

这是一道 简单 题 https://leetcode.cn/problems/degree-of-an-array/ 题目 给定一个非空且只包含非负数的整数数组 nums&#xff0c;数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组&#xff0c;返…

谈找工作途径

谈找工作 目录概述需求&#xff1a; 设计思路实现思路分析1.51job2.拉钩 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge Survi…

QT日历制作

文章目录 前言一、QCalendar 类介绍二、界面布局三、代码讲解1. lable 添加图片2. 设置主窗口背景色3. 日历显示改变网格线颜色4. 显示表头日期 总结 前言 在 Qt 中&#xff0c;QCalendar 类是提供日历功能的类。它用于操作和管理日期和时间信息&#xff0c;包括日期计算、日期…