justest123
V2EX  ›  问与答

请教一个老生常谈的关于吞吐量的问题,越考虑越糊涂了

  •  
  •   justest123 · Dec 1, 2020 · 1141 views
    This topic created in 2019 days ago, the information mentioned may be changed or developed.

    有一个单线程服务,接收到一次请求,考虑到高效、性能等原因,该请求中实际包含了 1000 个待处理事件(类似于批量处理)。

    服务内部分为 A 功能模块和 B 功能模块,1000 个事件需要先被 A 模块处理完成后,再由 B 模块处理。已知 A 模块共花费时间 0.1 秒,B 模块共花费时间 0.9 秒,该服务整体花费时间可简单视为 1 秒。

    问题:

    对 A 模块来说,1000/0.1 = 10000/s (同样,对 B 模块,1000/0.9 = 1111/s ),这个值能不能视为该模块的吞吐量( TPS )?还是说有另外的名词代表这种值?

    对服务来说,1000/1 = 1000/s,也是整个服务的吞吐量吗?

    3 replies    2020-12-02 10:01:11 +08:00
    billlee
        1
    billlee  
       Dec 1, 2020
    没有这样按功能模块算吞吐量的,你这个功能模块并不能独立运转,A 功能处理完成后必然会阻塞地等待 B 模块。
    justest123
        2
    justest123  
    OP
       Dec 2, 2020
    @billlee emm,这个也是我感觉稍微别扭的地方,如果这两个模块就是把它们看成一个独立的部分,10000/s 和 1111/s 这两个数值比较适合用什么名词来表示呢?
    lvzhiqiang
        3
    lvzhiqiang  
       Dec 2, 2020
    你可以理解为每秒处理的事务数,两个模块的合作处理是一个事务。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1403 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 17:08 · PVG 01:08 · LAX 10:08 · JFK 13:08
    ♥ Do have faith in what you're doing.