Jmeter 性能压测-TPS与QPS

1、TPS和QPS的区别

TPS:意思是每秒事务数,具体事务的定义都是人为的,可以一个接口、多个接口、一个业务流程等等。

一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。

以单接口定义为事务为例,每个事务包括了如下3个过程:

向服务器发请求
服务器自己的内部处理(包含应用服务器、数据库服务器等)
服务器返回结果给客户端

如果每秒能够完成N次这三个过程,TPS就是N;

如果多个接口定义为一个事务,那么,会重复执行1/2/3,完成一次这几个请求,算做一个TPS。

QPS:意思是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询SQL的次数)

显然这个不够全面,不能描述增删改,所以,不建议用QPS来作为系统性能指标。

两者的区别:

如果是对一个查询接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么TPS = QPS,否则,TPS ≠ QPS

如果是容量场景,假设n个接口都是查询接口,且这个接口内部不会再去请求其它接口,QPS = n*TPS

Jmeter聚合报告中,Throughput是用来衡量请求的吞吐量,也就是TPS。

TPS = 样本数/运行时间

我们定义的是TPS,不是QPS。如果没有定义事务,会把每个请求作为一个事务。

QPS是数据库中的概念,每秒执行条数(查询),被引申到压测中来了,但是不包括插入、更新、删除操作,所以不建议用QPS来描述系统整体的性能。

建议用TPS,这个T,你可以随意的定义,可以是一个接口,也可以是一个业务流程等等。

2、面试性能测试bug

①在做压力测试的时候,吞吐量TPS上不去,原本的TPS标准是要达到400/sec,但是实际压测只有50多的TPS。

后面发现是数据库的磁盘空间满了,导致查询速度和请求速度过慢,然后我让我们后端开发同事把数据库的磁盘清理一下就恢复正常了。

②我在压测(修改密码,新建用户,投保用户列表接口,保单管理接口,支付接口,保单查询接口,查看险种接口,投保接口)

接口的时候【这里面接口自己选一个】,平均响应时间在10s左右,不符合性能指标3s

后来发现:原因是接口通过redis,每次请求redis都会初始化。

后面解决:在测试环境增加路由配置之后,这个问题就解决了

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

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

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

相关文章

「PHP系列」PHP超级全局变量详解

文章目录 一、$GLOBALS1. 在函数内部访问全局变量2. 在函数内部修改全局变量3. 注意事项 二、$_SERVER三、$_REQUEST1. 从 GET 请求中获取数据2. 从 POST 请求中获取数据3. 注意事项 四、$_POST五、$_GET六、$_FILES七、$_ENV八、$_COOKIE九、$_SESSION十、相关链接 一、$GLOBA…

python UTF-8解码及脚本头的标注

在Python中,如果你需要将编码为UTF-8的字节串解码为Unicode字符串,你可以使用内置的str类型的decode方法,或者使用bytes.decode()方法。但通常情况下,如果你已经在Python 3中处理字符串,你可以直接将字节串(类型bytes)转换为字符串(类型str)。 例如: python # 假设…

S32K324 数据初始化Rom到Ram Copy的方式

文章目录 前言基础知识ld文件中的段定义ld文件中的符号定义 ld定义copy地址范围启动文件中的定义Copy的使用总结 前言 之前一直不理解在ld文件中加__xxx_ram_start,__xxx_rom_start,__xxx_rom_end这些的作用,也不清楚原理。前几天遇到一个内存copy的问题&#xff0…

从入门到放弃:Docker基础教程

一、引言 1. 什么是Docker Docker是一种用于开发、交付和运行应用程序的平台。它通过将应用程序打包成一个可以轻松部署的容器来实现隔离,从而简化了应用程序部署的流程。 2. Docker能解决什么问题 传统的应用程序部署和管理方式往往存在着各种问题,…

HarmonyOS时区和语言设置-使用相关api实现系统语言和地区设置

介绍 本示例展示了i18n,intl,resourceManager在eTS中的使用,使用相关api实现系统语言和地区设置、时间和时区设置,展示了区域格式化示例。 效果预览 使用说明 1.启动应用,进入应用,首页分为三个按钮&…

【JVM】GC导致的性能问题排查与解决方案,日志、堆分析工具介绍

一、必要性 重要应用程序在使用过程中,忽然无法响应用户请求,排查发现网络联通无问题,gateway能够正常接收分发请求,应用进程正常,正常向注册中心发送请求,但是接收http请求全部返回报错。 添加gc后发现内…

C#项目引用解决方案中其他项目dll时,出现黄色感叹号的解决方案

问题引入 今天拿着老师傅的老项目,需要做通讯调试,说测试一下,便添加了一个项目A来编写结构体,然后在窗体程序项目B中引用A,发现B一引用A,在B项目的引用下面A就多了个黄色感叹号,一编译B项目&am…

网工内推 | 上市公司网工,最高30K,思科认证优先,多次晋升机会

01 牧原股份 招聘岗位:网络工程师 职责描述: 1、负责公司及下属子公司办公网络及IOT网络架构规划、设计、重大网络变更评审或实施及重大疑难问题处理; 2、负责公司网络运维监控体系、自动化网络运维及服务体系,并持续优化改进&am…

20240408在全志H3平台的Nano Pi NEO CORE开发板的eMMC刷Ubuntu Core 16.04

20240408在全志H3平台的Nano Pi NEO CORE开发板的eMMC刷Ubuntu Core 16.04 2024/4/8 20:46 参考资料: https://wiki.friendlyelec.com/wiki/index.php/NanoPi_NEO_Core/zh#.E5.AE.89.E8.A3.85.E7.B3.BB.E7.BB.9F [ OK ] Created slice Slice /system/getty. [ …

arm 的CoreLink 是什么?

ARM的CoreLink是一套由ARM公司开发的系统互连IP解决方案,旨在为片上系统(SoC)提供高性能和高效率的互连架构。CoreLink系列包括多种技术和组件,每个都针对特定的系统设计需求进行了优化。以下是CoreLink系列的一些关键组件及其使用…

代码随想录Day48

Day 48 动态规划part09 今日任务 198.打家劫舍213.打家劫舍II337.打家劫舍III 代码实现 基础打家劫舍 class Solution {public static int rob(int[] nums) {if (nums null || nums.length 0) return 0;if (nums.length 1) return nums[0];int[] dp new int[nums.leng…

获取淘宝销量API商品详情页原数据APP接口:测试key获取(含测试链接)

淘宝/天猫获得淘宝app商品详情原数据 API 返回值说明 item_get_app-获得淘宝app商品详情原数据 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地…

注入类型(一)

一、整数类型 1 and 11 # 1 or 11 -- 二、字符串类型 1 and 11 -- 1 and 11 # 三、搜素类型 搜索型注入,需要额外的考虑后面的问题 总结: 前闭合 " ) ") % %" 无 后闭合 " ( (" % …

百度松果菁英班——机器学习实践五:明星图片爬取

飞桨AI Studio星河社区-人工智能学习与实训社区 🥪图片爬取 import requests import os import urllib ​ class GetImage():def __init__(self,keyword大雁,paginator1):# self.url: 链接头self.url http://image.baidu.com/search/acjson?self.headers {User…

Linux安装并配置Miniconda

miniconda官方文档: Miniconda — Anaconda 文档 官方文档中有讲到怎么安装Miniconda,如下: 以下是我得出的经验: 1. 新建新目录并下载和安装miniconda(安装过程中,当提示是否继续时,一直按回…

蓝桥杯22年javaB组省赛真题

22年java_b组题目解析 写该博客既是为了分享题目解法,也是对之前写的题复习,毕竟已经24年了,写22年的题解 233🤭 文章目录 22年java_b组题目解析A.星期计算(填空题)B.山(填空题)C.字符统计(编…

day75 js 正则表达式 window对象轮播图片调用定时器

一 正则表达式: RegExp 对象: 对字符串执行模式匹配的强大工具。 1 创建正则表达式对象 let reg /模式/修饰符 修饰符 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m", …

Azure的VFP和虚拟IP地址

Azure 的Virtual filtering platform (VFP) 是Azure 网络地址转换,端口转换和端口分配的基础。 下面我们来深入介绍一下VFP的工作方式。 VFP的出站动作。 对于客户端地址作为虚拟IP的出站目的地址的时候,VFP 驱动会负责做以下两个动作。 源地址转换。端口地址转换。VFP 和 S…

20240325-1-HMM

HMM 直观理解 马尔可夫链(英语:Markov chain),又称离散时间马尔可夫链(discrete-time Markov chain,缩写为DTMC),因俄国数学家安德烈马尔可夫(俄语:Андре…

【C++进阶】用哈希实现unordered_set和unordered_map的模拟

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 总有光环在陨落,总有新星在闪烁 前言: 之前我…