性能测试-电商系统tps计算方法【杭州多测师_王sir】【杭州多测师】

news/2024/10/31 3:29:47/

怎么计算得出tps指标?
1.第一个通过运维那边给的生产数据,看一下生产进件有多少,计算得来的,如果没有生产数据,或者不过就看如下的方法
2.第二个就是根据最近一个月的实际访问数据,比如每天调用了多少个接口,调用了哪些接口,把比例列出来


我举个例子,比如我们yshop系统,从2023-4-8到2023-5-8,最高的一天调用接口数量最高为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

性能问题1:如果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是有一个上限阈值的,到了这个阈值就不会再增加了。

性能问题2:你们之前支持多少个并发?
所以经常有面试官问你,你们之前支持多少并发,其实这个并发是指的并发用户数,而不是并发线程数,并发用户数是通过tps来承载的,你上面说的500tps,你就可以理解为并发用户数就是500tps,最高支持500个并发,  而jmeter里面的那个线程数指的是并发线程数,加大并发线程数只会让响应时间变大,而不会增加tps,并且jmeter里面线程数加到超过500,jmeter自身就会很卡。


http://www.ppmy.cn/news/65794.html

相关文章

ChatGPT使用9大技巧详解

目录 技巧1:To Do and Not To Do 技巧2:增加示例 技巧3:使用引导词,引导模型输出特定内容

javaweb前置知识

1.CSS CSS的角色:页面显示的美观风格CSS的基础语法:标签样式;类样式;ID样式;组合样式;嵌入式样式表;内部样式表;外部样式表盒子模型:border、margin、padding定位和浮动…

Flutter 自定义裁剪之圆形豁口/缺口

目录 Flutter自定义裁剪Flutter的自定义裁剪类CustomClipper裁剪的实际代码思路分析注意点完整代码总结如图所示,图中的圆形缺口,需要我们自定义裁剪,才能实现。 Flutter自定义裁剪 裁剪,我们想到的是剪刀,实际上,Flutter的裁剪原理,和我们现实物理世界的剪刀是一样的…

域名历史查询工具-批量域名历史注册记录查询

批量备案域查询 在互联网时代,域名备案已经成为一项必要工作,但是批量备案域名是一项繁琐和费力的工作。为了帮助企业和个人轻松应对域名备案,出现了一种新型的解决方案——批量备案域名查询监控软件。 这种软件的最大优势是自动化&#xf…

【hive】基于Qt5和libuv udp 的lan chat

作者已经不更新了,但是很棒 在线用户列表: 聊天窗口 主程序 单独的网络线程: network_thread data管理关联网络管理的 程序update升级更新 和消息收到 即可

永远不该忘记!科技才是硬道理,手中没有剑,跟有剑不用,是两回事

今天是全国防灾减灾日,距离2008年汶川大地震也已经过去15年了。但时至今日,看到那些图像视频资料,那种触及灵魂的疼痛仍是存在的,2008年的大地震在每个中国人身上都留下了无法抚平的伤疤。 2008年是所有中国人都无法忘记的一年&am…

jenkins配置springcloudalibaba流水线加服务器自动构建

参数化构建过程 Extended Choice Parameter Name:project_name Description:请选择需要构建的项目名称 Basic Parameter Types Parameter Type: Hidden Number of Visible Items: 20 Delimiter: , Choose Source for Value value: deerchain-gateway-95…

移动App 质量把控

对于质量问题,直接以小故事的形式展开。下面是移动中台年度针对质量复盘的一些思考 技术方案阶体现测试用例 对于业务项目来说,会存在测试资源、冒烟用例、精准测试、QA 新业务的业务回归、核心业务的 UI 自动化、高铁阶段的 QA 人工回归等。这里简单讲…