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自身就会很卡。