Jmeter 性能 —— 电商系统TPS计算

1、怎么计算得出TPS指标

①第一个通过运维那边给的生产数据,看一下生产进件有多少,计算得来的,如果没有生产数据,或者不过就看如下的方法

②第二个就是根据最近一个月的实际访问数据,比如每天调用了多少个接口,调用了哪些接口,把比例列出来

举个例子:

比如xxx_shop系统,从2023-12-3到2024-1-3,最高的一天调用接口数量最高为100万次。

那么tps的计算公式如下:

tps = 1000000/24*3600=11.57/sec ==》这是通用的tps
比如这100万次请求里面登录请求比例:40% 那么登录接口的标准tps=11.57*40% = 4.63/sec退出请求比例:20% 那么退出接口的标准tps=11.57*20% = 2.31/sec添加商品比例:20% 那么添加商品接口的标准tps=11.57*20% = 2.31/sec查询商品比例:10% 那么查询商品接口的标准tps=11.57*10% = 1.16/sec修改商品比例:10% 那么修改商品接口的标准tps=11.57*10% = 1.16/sec

如上是通用的tps模型,除了上面的通用tps模型,还有添加商品和查询商品的业务模型。

比如下午9点添加商品占比40%,下午16点查询商品占比20%,那么就需要重新计算了

添加商品业务模型:首先拿到9点这一小时的数据为10万,那么tps = 100000/3600*40% = 11.1/sec查询商品业务模型:首先拿到16点这一小时的数据为8万,那么tps = 80000/3600*20% = 4.44/sec
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:1150305204【暗号:csdn999】
 

2、性能问题:如果500TPS那并发线程数应该是多少?

首先搞清楚一个概念:服务器的tps是有一个阈值的,要达到500tps ,用50个并发线程数和100并发线程数,或者200并发线程数都可以达到500tps。

还有一个概念并发线程数和并发用户数不是同一个概念,并发线程数是Jmeter里面的线程数,而并发用户数是需要通过tps来进行承载的,这个里面的并发用户数就是500tps

再延伸一点:如果需要达到500tps并发用户数,如果并发度为1%,那么在线用户应该就是500tps/1% = 50000的在线用户,这个并发度又是怎么计算的呢?

并发度计算:50000的在线用户,在1秒内发出来了500个接口请求,那么并发度等于500/50000=1%,这个就是并发度的计算公式

注册用户计算:可以取在线用户的10-100倍,也就是50万*500万 = 50万-500万的注册用户

500tps = 50个并发线程数/0.1秒500tps = 100个并发线程数/0.2秒500tps = 200个并发线程数/0.4秒...500tps = 1000个并发线程数/2秒

总结:用更多的并发线程数来做压测或者负载,不会让服务器的tps继续往上增加,只会增加响应时间。

因为每台服务器的tps是有一个上限阈值的,到了这个阈值就不会再增加了。

3、性能问题:你们之前支持多少个并发?

经常有面试官问你,你们之前支持多少并发,其实这个并发是指的并发用户数,而不是并发线程数。

并发用户数是通过tps来承载的,你上面说的500tps,你就可以理解为并发用户数就是500tps,最高支持500个并发。

而Jmeter里面的那个线程数指的是并发线程数,加大并发线程数只会让响应时间变大,而不会增加tps。

并且Jmeter里面线程数加到超过500,Jmeter自身就会很卡。

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

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

相关文章

将 validator 校验器从 ParameterValidator 中抽离出来

目录 一、前置说明1、总体目录2、相关回顾3、本节目标 二、操作步骤1、项目目录2、代码实现3、测试代码4、日志输出 三、后置说明1、要点小结2、下节准备 一、前置说明 1、总体目录 《 pyparamvalidate 参数校验器,从编码到发布全过程》 2、相关回顾 pyparamval…

01、Kafka ------ 下载、安装 ZooKeeper 和 Kafka

目录 Kafka是什么?安装 ZooKeeper下载安装启动 zookeeper 服务器端启动 zookeeper 的命令行客户端工具 安装 Kafka下载安装启动 Kafka 服务器 Kafka是什么? RabbitMQ的性能比ActiveMQ的性能有显著提升。 Kafka的性能比RabbitMQ的性能又有显著提升。 K…

【React系列】react-router

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. 认识react-router 1.2. 前端路由原理 前端路由是如何做到URL和内容进行映射呢?监听URL的改变。 UR…

【MySQL】orderby/groupby出现Using filesort根因分析及优化

序 在日常的数据库运维中,我们可能会遇到一些看似难以理解的现象。比如两个SQL查询语句,仅仅在ORDER BY子句上略有不同,却造成了性能的天壤之别——一个飞速完成,一个则让数据库崩溃。今天就让我们围绕这个问题,深入剖…

prometheus grafana linux服务器监控

文章目录 前传node-exporter安装配置promethues监控node节点grafana操作查看监控:外传 前传 prometheus grafana的安装使用:https://nanxiang.blog.csdn.net/article/details/135384541 本文说下监控nginx,prometheus grafana linux 安装配…

(NeRF学习)NeRF复现 win11

目录 一、获取源码二、环境三、准备数据集1.下载数据集方法一:官方命令方法二:官网下载数据集 2.修改配置 四、开始训练1.更改迭代次数2.开始训练方法一:方法二: 3.使用预训练模型 五、NeRF源码学习 一、获取源码 git clone http…

初识MySQL

一、什么是数据库 数据库(Database,简称DB):长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。 数据库的作用: 可以结构化存储大量的数据,方便检索和访问…

kubeadm开快速的搭建一个k8s集群

kubeadm开快速的搭建一个k8s集群 二进制适合大集群,50台以上主机 kubeadm更适合中小企业的业务集群。 master节点 20.0.0.92 docker kubelet kubeadm kubectl flannel node1 20.0.0. 94 docker kubelet kubeadm kubectl flanne node2 20.0.0.03 docker kubelet…

面试题:聊聊 SpringBoot 中的 SPI 机制

文章目录 简介Java SPI实现示例说明实现类1实现类2相关测试 源码分析Spring SPISpring 示例定义接口相关实现 相关测试类输出结果源码分析 总结 简介 SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要用于框架…

HTTPS协议详解

目录 前言 一、HTTPS协议 1、加密是什么 2、为什么要加密 二、常见加密方式 1、对称加密 2、非对称加密 三、数据摘要与数据指纹 1、数据摘要 2、数据指纹 四、HTTPS加密策略探究 1、只使用对称加密 2、只使用非对称加密 3、双方都使用非对称加密 4、对称加密非…

开发个小破软件——网址导航,解压就能用

网址导航 网站导航也称链接目录,将网站地址或系统地址分类,以列表、图文等形式呈现,帮助快速找到需要的地址。 应用场景 高效查找:网址导航是很好的入口,通过分类清晰的网站推荐,可以迅速访问网站资源。…

SVN下载安装(服务器与客户端)

1.下载 服务器下载:Download | VisualSVN Server 客户端下载:自行查找 2. 服务器安装 双击执行 运行 下一步 同意下一步 下一步 选中安装目录 3. 客户端安装 双击执行 下一步 4. 服务器创建仓库 5. 服务器创建用户 6. 客户端获取资源 文件夹右键

微服务全链路灰度方案介绍

目录 一、单体架构下的服务发布 1.1 蓝绿发布 二、微服务架构下的服务发布 三、微服务场景下服务发布的问题 四、全链路灰度解决方案 4.1 物理环境隔离 4.2 逻辑环境隔离 4.3 全链路灰度方案实现技术 4.3.1 标签路由 4.3.2 节点打标 4.3.3 流量染色 4.3.4 分布式链路…

MyBatis源码分析(二):项目结构

目录 1、前言 2、代码统计 3、整体架构 3.1、基础支持层 3.1.1、反射模块 3.1.2、类型模块 3.1.3、日志模块 3.1.4、IO模块 3.1.5、解析器模块 3.1.6、数据源模块 3.1.7、缓存模块 3.1.8、Binding 模块 3.1.9、注解模块 3.1.10、异常模块 3.2、核心处理层 3.2.…

Pytorch简介

1.1 Pytorch的历史 PyTorch是一个由Facebook的人工智能研究团队开发的开源深度学习框架。在2016年发布后,PyTorch很快就因其易用性、灵活性和强大的功能而在科研社区中广受欢迎。下面我们将详细介绍PyTorch的发展历程。 在2016年,Facebook的AI研究团队…

【C++】Ubuntu编译filezilla client

在新版Ubuntu 22.04.3 LTS上编译filezilla client成功,shell命令如下: sudo apt-get install libfilezilla-dev libwxbase3.0-dev gnutls-dev libdbus-1-dev sudo apt-get install libwxgtk3.0-gtk3-dev sudo apt-get install libgtk-3-dev sudo apt-ge…

【GO语言卵细胞级别教程】01.GO基础知识

01.GO基础知识 目录 01.GO基础知识1.GO语言的发展历程2.发展历程3.Windowns安装4.VSCode配置5.基础语法5.1 第一段代码5.2 GO执行的流程5.3 语法规则5.4 代码风格5.5 学习网址 1.GO语言的发展历程 Go语言是谷歌公司于2007年开始开发的一种编程语言,由Robert Griese…

Python从入门到精通之元类

系列 Python从入门到精通之安装与快速入门-CSDN博客 Python从入门到精通之基本数据类型和变量-CSDN博客 Python从入门到精通之集合(List列表、Tuple元组、Dict字典、Set)-CSDN博客 Python从入门到精通之条件语句、循环语句和函数-CSDN博客 Python从…

STM32疑难杂症

1.keil的奇怪问题 创建的数组分配内存到0x10000000地址的时候,数据总是莫名其妙的出现问题,取消勾选就正常了 stm32f407内部有一个CCM内存,这部分内存只能由内核控制,任何外设都不能够进行访问。这样问题就来了,如果使…

ES6 class详解

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…