netty超时问题排查

问题一 客户端超时主动断开连接 nginx 499 导致客户端接受到服务超时的返回。报错预警突增

原因:客户端超时时间比代理服务(backend配置超时)超时时间小,代理的后端服务超时导致调用方大量的请求报错。

排查过程如下

1、 查看apierror.log(这里会记录验证错误的异常) 对比报错陡增前后 apierror中针对具体接口的报错量是否平稳。

本次发现报错前后apierror中报错量并没有大幅变化,这个问题与验证无关。

2、 查看backend.log 发现访问后端没有4XX, 5XX的错误返回。

3、 查看.api.weibo.com/proxy/badges/badge.json 的调用正常的qps,发现抖降300,与报错的增量吻合。

说明是我们这里吃掉了300/s 的请求。产生问题。

4、 apierror、access.log、backend.log无明显异常。

可以在监控中查看后端的返回平均时间是否有突增。

联系运维查看ng的log是否出现499。确定客户端指定的超时时间 确定问题。 联系后端接口负责人解决。

5、 本次排查后加入log

问题二

接口偶发返回时间过长

1、客户端配置超时时间8s,反馈偶发返回时间6s

2、查询log没有明显报错

3、查看nginx的log 发现有返回为空 ngx状态502

4、nginx 轮训三台机器前两台502,耗时6s

5、初步怀疑,是底层接口超时, 关闭了channl连接,并且没有打印backend超时log()

6、连接关闭,导致程序没有返回。接口等待服务全局的6s超时后返回空,导致nginx 502

7、 加入log,灰度,确认现象。

8、 调整backend超时时间,通知后端优化接口。

9、 ProxyIdleStateHandler 超时后不hander会处理, 超时不会走messageReceived , 走channelIdle 开始没有打印log。

广告: 有喜欢钢琴的同学可以关注

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值