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统计就是取前几分钟的值,基本可以排除指标抖动影响
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统计就是取前几分钟的值,基本可以排除指标抖动影响