Skip to content

服务端latency统计时间可能有误 #2437

Description

@FancyJan

Describe the bug (描述bug)
写一个简单的client去压测单机server,获取如下两个指标:
client耗时:通过brpc::Controller::latency_us()获取
server耗时:通过bvar中的对应latency bvar获取

之前我们使用的版本是0.9.7,client侧耗时会明显大于server耗时,符合预期
最近升级到了1.5.0版本,client侧耗时基本不变,但是server侧耗时明显高于之前,甚至大于client侧耗时。
因此怀疑server端的耗时在新版本内有问题。

看了下用于计时的ConcurrencyRemover的逻辑并没有明显修改,
这块还有什么别的排查思路吗?Appreciate any help

To Reproduce (复现方法)
补充细节:
client就是简单的client,请求来自rpc dump采集,单线程使用同步接口去重复发请求。
server是我们的生产代码,特点是:会使用bthread做一些并行计算;使用了brpc的session_local_data。
client和server压测,正常负载下均可以复现

Expected behavior (期望行为)
在新版本中,client侧耗时不应该小于server耗时,预期会有明显的gap

Versions (各种版本)
OS:
Compiler:
brpc:
protobuf:

Additional context/screenshots (更多上下文/截图)
这里看的bvar统计就是取前几分钟的值,基本可以排除指标抖动影响

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions