brpc
brpc copied to clipboard
求助:客户端偶发[E1008]Reached timeout
问题描述
客户端偶发出现 [E1008]Reached timeout=15000ms,从 rpcz 抓到的trace看,服务端很快进行了response,但是不知道什么原因客户端一直没有收到,其中一个trace如下
09:38:09.066607 . 0 Requesting xxxxx baidu_std log_id=0 call_id=146673133403889 trace=d2a8ed1019254ce4 span=d2a8ed1019254ce4
09:38:09.066624 . 17 Requested(3581) [1]
09:38:24.066684 15. 60 [E1008]Reached timeout=15000ms @xxxx:8060
09:38:24.066710 . 26 Enter user's done
2024/04/22-09:38:09.067145 Received request(3581) from xxxx:35494 baidu_std log_id=0 trace=d2a8ed1019254ce4 span=d2a8ed1019254ce4
09:38:09.067176 . 31 Processing the request in a new bthread
09:38:09.067241 . 65 Enter xxxxx
09:38:09.067395 . 154 Leave xxxxx
09:38:09.067407 . 12 Responded(32)
按照 server_debugging对客户端和服务端进行了排查
- bthread_worker_usage 很低 (但依然尝试增加 brpc_concurrency,没有效果)
- 机器的CPU、IO和网络流量都不高
请问下有没有其它可能的原因或排查手段呢
Versions (各种版本) brpc: 1.3.0
建议使用brpc里面的测试程序,echo_server echo_client试试,便于定位问题。
请问解决了吗?我也遇到同样的问题了
可以先用baidu-std wireshark插件抓包确认一下服务端有没有将包发出去和客户端有没有收到包。
这个问题有解决吗