TPS 是怎么计算的?

2019-12-10 11:26:34 +08:00
 likefly

网上每个文章写的都不一样,看晕了

7356 次点击
所在节点    程序员
23 条回复
likefly
2019-12-10 11:28:33 +08:00
例如我现在压测并发 50,持续时间 10 分钟,执行了 64952 个请求,平均响应时间 461.59ms
likefly
2019-12-10 11:34:54 +08:00
我的理解是这样的,单个用户访问 1 秒,按平均响应时间来看,可以处理的事物数就是 1/0.461.59=2.166 。
并发 50 就是 50*2.166=108.3。
但是网上搜了都是说一大篇,各种不一样,有没有大佬来指点一下
likefly
2019-12-10 11:37:16 +08:00
或者是 64952 / 300 秒
lhx2008
2019-12-10 11:40:05 +08:00
一般就是写请求是 TPS,读请求是 QPS,然后是请求数 /总时间秒
lhx2008
2019-12-10 11:42:16 +08:00
平均响应时间的话,要看 95%的线或者 99%的线,有没有超过阈值,超过了可以考虑降低测试并发
lhx2008
2019-12-10 11:42:55 +08:00
最后是在响应时间比较合理的情况下的 QPS 最大值
lhx2008
2019-12-10 11:43:59 +08:00
@likefly #2 2.166 是你服务器是单线程是没错的,但是一般有框架都不会是单线程
dengtongcai
2019-12-10 11:45:47 +08:00
mark 等大佬讲讲
aleung
2019-12-10 12:25:26 +08:00
TPS: transaction per second,不严谨的场合经常等同于 QPS/RPS: request per second。

根据这个定义,你的测试的结果应该是 64952 /(60*10)
laimeifeng1995
2019-12-10 14:16:46 +08:00
TPS 和你并发用户数不一定有太大关系 ,

TPS = 请求数 /平均响应时间
likefly
2019-12-10 15:14:58 +08:00
@laimeifeng1995
根据你的公式,那就是 64952 / 461.59 ?
opengps
2019-12-10 15:29:55 +08:00
兼容软件每秒都统计成功执行的事物数量,最后根据列表,最大最小平均值都拿出来参考下,一般都根据需要选取平均值
laimeifeng1995
2019-12-10 15:36:18 +08:00
@likefly 对的,把单位划算为秒就可以了,
你可以,找一些压测工具,看看他们的结果和这个计算结果是不是一样就知道了。
1ffree
2019-12-10 15:48:34 +08:00
@laimeifeng1995 你是认真的吗?
laimeifeng1995
2019-12-10 15:54:30 +08:00
@1ffree 你啥意思,我说错什么了吗。
laimeifeng1995
2019-12-10 15:57:51 +08:00
@likefly 不好意思,刚刚看记错了。

TPS = 请求数 *平均响应时间
lhx2008
2019-12-10 16:03:25 +08:00
@laimeifeng1995 想一下就知道,请求数是至少和总时间有关系的,你这么算,岂不是我测试时间越长,请求数越多,TPS 越高
laimeifeng1995
2019-12-10 16:08:37 +08:00
@likefly

刚刚拿 JMeter 手动测试了下、

TPS = 总请求数 /请求时间

Tips:
我刚刚并发 50 个用户,请求了 30 秒 总请求数 21063 平均响应时间 70ms,TPS=QPS=700.3/sec

对不起刚刚回复快了,没想清楚。
laimeifeng1995
2019-12-10 16:09:47 +08:00
@lhx2008

对不起,刚刚回复快了,脑子浆糊,挨打就要立正,错误就要认。
likefly
2019-12-10 16:13:35 +08:00
@laimeifeng1995
我现在也是按照 总请求数 / 请求时间来算

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/627556

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX