news 2026/6/10 8:41:16

Jmeter 性能-电商系统TPS计算

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter 性能-电商系统TPS计算

1、怎么计算得出TPS指标

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

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

举个例子:

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

那么tps的计算公式如下:

tps = 1000000/24*3600=11.57/sec ==》这是通用的tps
  1. 比如这100万次请求里面

  2. 登录请求比例:40% 那么登录接口的标准tps=11.57*40% = 4.63/sec

  3. 退出请求比例:20% 那么退出接口的标准tps=11.57*20% = 2.31/sec

  4. 添加商品比例:20% 那么添加商品接口的标准tps=11.57*20% = 2.31/sec

  5. 查询商品比例:10% 那么查询商品接口的标准tps=11.57*10% = 1.16/sec

  6. 修改商品比例:10% 那么修改商品接口的标准tps=11.57*10% = 1.16/sec

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

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

  1. 添加商品业务模型:首先拿到9点这一小时的数据为10万,那么tps = 100000/3600*40% = 11.1/sec

  2. 查询商品业务模型:首先拿到16点这一小时的数据为8万,那么tps = 80000/3600*20% = 4.44/sec

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万的注册用户

  1. 500tps = 50个并发线程数/0.1秒

  2. 500tps = 100个并发线程数/0.2秒

  3. 500tps = 200个并发线程数/0.4秒

  4. ...

  5. 500tps = 1000个并发线程数/2秒

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

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

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

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

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

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

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

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 15:31:22

具身智能产业新范式:Deepoc开发板如何破解机器人智能化升级难题

当机器智能升级从"推倒重来"变为"即插即用",一场由模块化解决方案驱动的产业变革正在发生在具身智能产业快速发展的背景下,企业面临着一个关键抉择:是投入巨资研发全栈智能机器人,还是寻找一条更经济高效的智…

作者头像 李华
网站建设 2026/6/6 6:38:20

15、深入解析UE - V与会话虚拟化技术

深入解析UE - V与会话虚拟化技术 1. UE - V技术解析 UE - V(User Experience Virtualization)是一项强大的技术,它在用户体验和桌面虚拟化方面有着重要作用。 1.1 设置回滚功能 当用户首次启动支持UE - V的应用程序时,该应用程序模板中定义要捕获的所有当前设置会以特殊…

作者头像 李华
网站建设 2026/5/31 18:38:14

Open-AutoGLM + 咖啡订单自动化:如何在90分钟内完成端到端部署?

第一章:Open-AutoGLM 点咖啡在智能化服务快速演进的背景下,Open-AutoGLM 作为一种面向自然语言理解与任务自动化的大模型框架,展现出强大的场景落地能力。其核心优势在于能够将用户意图精准解析为可执行指令,并驱动具体业务流程。…

作者头像 李华
网站建设 2026/6/10 0:47:08

UDS协议初学者指南:掌握常用诊断服务

UDS协议实战入门:从零构建汽车诊断系统核心能力你有没有遇到过这样的场景?产线上的ECU突然无法刷写,售后工具读不到关键参数,或者OTA升级时卡在“请求下载”阶段……面对这些问题,很多工程师的第一反应是查线、换模块、…

作者头像 李华
网站建设 2026/6/9 19:56:06

Web测试是在测什么?容易被忽视的小细节总结!

随着Internet和Intranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂…

作者头像 李华
网站建设 2026/5/28 21:58:20

Ubuntu系统下修复libcudart.so.11.0缺失的操作指南

Ubuntu下解决 libcudart.so.11.0 缺失问题:从报错到根治的完整路径 你有没有在某个深夜,满怀期待地运行一段PyTorch代码,结果终端突然弹出这样一行红字: ImportError: libcudart.so.11.0: cannot open shared object file: No …

作者头像 李华