V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DavidNineRoc
V2EX  ›  问与答

网上计算并发数和 QPS 是不是有问题吗?

  •  
  •   DavidNineRoc · 2019-10-24 19:08:07 +08:00 · 3652 次点击
    这是一个创建于 1863 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网上的公式如下

    并发量 = QPS * 平均响应时间
    

    加入我的 QPS 是 1000, 平均处理时间是 0.5s 那么并发量是 500 吗? 如果我的处理时间越短, 不应该并发量越高吗? 那按照这个公司,我的平均处理时间变为 0.1, 并发反而变为 100 了

    7 条回复    2020-08-28 09:43:49 +08:00
    CoooooolFrog
        1
    CoooooolFrog  
       2019-10-24 19:23:32 +08:00
    不是这样算的。
    这个公式只能用来算 QPS,QPS = 并发量 / 平均响应时间。
    高中物理的选择题记得吗?公式里有一些量是常数,你不能假设某一个值单独增大来计算这个常数,这里是类似的。
    Leigg
        2
    Leigg  
       2019-10-24 20:00:09 +08:00 via Android
    并发的定义是一个时间段内能够处理的总请求数,qps 是每秒处理请求数
    mcfog
        3
    mcfog  
       2019-10-24 20:40:02 +08:00 via Android
    有什么问题呢?如果你的处理速度是无穷快,响应时间趋向于 0,那么任何时候都不会同时处理一个以上的请求,并发趋向于一,QPS 趋向于无穷大
    DavidNineRoc
        4
    DavidNineRoc  
    OP
       2019-10-25 12:54:38 +08:00
    @CoooooolFrog 所以这个并发量并不是我们常说的能抗多少并发的那个并发?
    @Leigg 按这个说,我 QPS 大, 应该并发量高。 但是平均响应时间小,不应该并发量也大的吗?
    @mcfog 并发趋向于 1,这个并发只是指系统同时处理的请求数,而不是我们常谈的系统并发量了?
    Leigg
        5
    Leigg  
       2019-10-25 15:48:09 +08:00 via Android
    @DavidNineRoc 其实你有点本末倒置了,虽然平时大家都在说系统并发能力,但其实追求的是系统的吞吐量,也就是 qps 或 tps,而吞吐量则是通过并发测试出来的结果。也就是说吞吐量可以当做衡量系统并发能力的关键指标,=总请求数 /总时长,亦或并发数 /平均响应时间。
    Qug
        6
    Qug  
       2020-02-09 12:36:47 +08:00
    你的平均处理时间变为 0.1,QPS 能不变?? QPS 本来就是某个系统的性能指标,是测试好的相对准确的值,所以处理时间不是你想变就能变的,如果处理时间变了你的原系统的 QPS 肯定要重新测评
    rugalzhang
        7
    rugalzhang  
       2020-08-28 09:43:49 +08:00
    理解上这个因果关系好像要倒转一下
    0.5s 的处理时间,我们至少需要 500 的并发量,才能达到 1000qps
    0.1s 的话,因为处理时间变快了,所以现在只需要 100 的并发量,就可以轻松达到 1000qps 的能力了
    如果并发量还是 500,我们的 qps 甚至能到 5000
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2656 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 01:45 · PVG 09:45 · LAX 17:45 · JFK 20:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.