网上的公式如下
并发量 = QPS * 平均响应时间
加入我的 QPS 是 1000, 平均处理时间是 0.5s 那么并发量是 500 吗? 如果我的处理时间越短, 不应该并发量越高吗? 那按照这个公司,我的平均处理时间变为 0.1, 并发反而变为 100 了
1
CoooooolFrog 2019-10-24 19:23:32 +08:00
不是这样算的。
这个公式只能用来算 QPS,QPS = 并发量 / 平均响应时间。 高中物理的选择题记得吗?公式里有一些量是常数,你不能假设某一个值单独增大来计算这个常数,这里是类似的。 |
2
Leigg 2019-10-24 20:00:09 +08:00 via Android
并发的定义是一个时间段内能够处理的总请求数,qps 是每秒处理请求数
|
3
mcfog 2019-10-24 20:40:02 +08:00 via Android
有什么问题呢?如果你的处理速度是无穷快,响应时间趋向于 0,那么任何时候都不会同时处理一个以上的请求,并发趋向于一,QPS 趋向于无穷大
|
4
DavidNineRoc OP @CoooooolFrog 所以这个并发量并不是我们常说的能抗多少并发的那个并发?
@Leigg 按这个说,我 QPS 大, 应该并发量高。 但是平均响应时间小,不应该并发量也大的吗? @mcfog 并发趋向于 1,这个并发只是指系统同时处理的请求数,而不是我们常谈的系统并发量了? |
5
Leigg 2019-10-25 15:48:09 +08:00 via Android
@DavidNineRoc 其实你有点本末倒置了,虽然平时大家都在说系统并发能力,但其实追求的是系统的吞吐量,也就是 qps 或 tps,而吞吐量则是通过并发测试出来的结果。也就是说吞吐量可以当做衡量系统并发能力的关键指标,=总请求数 /总时长,亦或并发数 /平均响应时间。
|
6
Qug 2020-02-09 12:36:47 +08:00
你的平均处理时间变为 0.1,QPS 能不变?? QPS 本来就是某个系统的性能指标,是测试好的相对准确的值,所以处理时间不是你想变就能变的,如果处理时间变了你的原系统的 QPS 肯定要重新测评
|
7
rugalzhang 2020-08-28 09:43:49 +08:00
理解上这个因果关系好像要倒转一下
0.5s 的处理时间,我们至少需要 500 的并发量,才能达到 1000qps 0.1s 的话,因为处理时间变快了,所以现在只需要 100 的并发量,就可以轻松达到 1000qps 的能力了 如果并发量还是 500,我们的 qps 甚至能到 5000 |