baidu / sofa-pbrpc

A light-weight RPC implement of google protobuf RPC framework.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sofa-client延时问题

scottzzq opened this issue · comments

描述一个现象:启动了一个server, 启动一个client使用同步方式访问这个服务,客户端看到的时间很多都是200ms,但是通过sofa_pbrpc_client,统计功能,succeed_max_time_us最大不到100us,client-server之间ping延时不到0.1ms,造成这种现象可能的原因是什么?多谢了~ @qinzuoyan

补充两点:
1.如果把rpc调用超时时间设置为1s,发起请求1w次,平均耗时不到1ms,如果把rpc调用超时时间设置为10ms,运行一会儿,就会发现几乎所有请求都超时,看到的平均耗时一直是10ms。
2.超时时间设置为10ms,client端连续发送1w次请求,中间不停止,运行一会儿超时之后会一直超时,不可恢复,总体失败比例78%。如果在两次请求之间sleep 10ms,虽然有部分请求会发生超时错误,但是总体的失败比例很低1%。

已解决

已解决?什么问题?

其实就是服务雪崩了,client每次设置10ms超时,假设server端工作线程数设置为1,server每次处理需要12ms,server处理5个请求之后,假设处理耗时恢复正常,变为10ms,但是因为中间积压了10ms的任务,此时client端看到的现象仍然是全部超时。这个问题不是sofa框架的问题。

了解,就是server端处理不过来。多谢。