TPS究竟如何计算

什么是TPS

TPS,即Transaction Per Second,每秒事务数。是衡量系统性能的一个非常重要的指标。
每当网站有活动时,特别是秒杀类活动,我们都需要预估一下系统性能,其中就有tps。
然而tps的估算方式可谓众说纷纭,许多相关概念也都夹缠不清。
所以今天,我们就来好好理一理。

用户数、在线用户数、并发用户数

用户数是指咱们数据库中的总用户数。
在线用户数是指出于登录状态的用户数,相当于只是挂在系统上,并不对系统产生压力。
并发用户数则是真正产生了操作的用户,他们才是真正的压力之源。
所以,在考虑系统压力的时候,我们需要在意的只有并发用户数。

对于并发用户数,这里还有个概念需要澄清。即并发用户数并不等于系统并发数
假设有10万用户,如果他们都约好了,在同一时刻访问一个接口,那么我们才能说这个接口有10万并发数。
而真是情况下,这10万用户是在某段时间内,比如1分钟,陆续来访问的。所以系统并发数一般都是小于并发用户数的。(所以秒杀的可怕之处就在于,这10万用户真的是约好了同一时刻来访问…)

TPS,响应时间与线程数

先举一个例子:
一个高速公路有10个入口,每个入口每秒钟只能通过一辆车。
1、请问1秒钟最多能进几辆车?
答:1秒钟最多10辆,所以tps=10
2、每辆车需要多长时间进行响应?
答:1秒钟,所以响应时间是1秒钟
3、如果有50辆车过来,tps和响应时间是多少?
答:假设这50辆车排成5排过来,每排10辆。那么第一排的响应时间是1秒,第二排要等第一排过去了才轮到他,所以第二排的响应时间是2秒,以此类推, 平均响应时间是(1+2+3+4+5)/5=3秒。这50辆车在5秒内全部通过,所以平均tps就是50/5=10tps。
4、如何提高tps?
如果经过流程优化,使得0.5秒就能通过一辆车,那么tps就提高到了10/0.5=20了。
或者通过时间不变,把入口扩宽到20个,那么tps也提高到20了。
所以你看,经验公式就是tps=入口数/通过路口的时间。换成IT术语,就是tps=连接数/响应时间。

一个秒杀活动的实际估算

理清了上面那些概念,我们尝试来估算一个秒杀活动tps。
假设网站有100万注册用户,其中有10万用户有资格参加秒杀。我们就当这10万人到时候都来参加活动,那么并发用户数就是10万。
假设这10万用户会在10秒钟内尝试3次,那么tps就是100000*3/10=30000tps
接口响应时间我们定一个经验值200毫秒,那么并发连接数等于30000*0.2=6000。

一般来讲,并发连接数并不会成为瓶颈,但是在高并发时,服务器的的处理性能会严重下降。至于怎样抗住高并发,请见我的另一篇文章(还没写…)。

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
jmeter的TPS(Transactions Per Second)计算公式是通过统计服务器处理请求的总数,然后除以花费的时间得出的。这个公式是通过将请求发出的时间顺序考虑在内,从统计的角度来计算TPS。 为了计算jmeter的TPS,可以进行以下步骤: 1. 首先,设置请求时间,例如300秒,以确保足够长的时间用于测试。 2. 在相同的配置情况下,改变线程数和并发数,例如50、100、150等,并观察jmeter中查看结果树中的Throughput。 3. 通过观察Throughput的峰值曲线,可以确定在某个并发范围内TPS达到最高值,而在低于或高于该线程数范围内,TPS会下降。 4. 最后,根据所得到的结果,可以确定该接口在特定的并发数情况下的最高TPS值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Jmeter平均响应时间和TPS计算方法](https://blog.csdn.net/weixin_30326745/article/details/98719573)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Jmeter之性能测试TPS解析](https://blog.csdn.net/u011197146/article/details/83273879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值