服务超时实战分析

开发服务的时候,经常发现客户端超时的情况,但是从服务端的日志来看又都比较正常,下面是我项目中遇到的一些不同的超时情况。

 

业务场景:

      基于一段长文本,划出文本中的内链

 

我主要遇到过如下三种场景的超时

1、客户端query太长

服务对这个query的处理消耗的时间比客户端设置的超时长,导致服务还没有把请求处理完毕,客户端就已经超时断开了

当时调用方反馈了超时情况后,我让他们把超时的query全部拿出来看了下,参数的长度长达几万个字符,而我们这种业务场景下服务对请求的处理时间基本和query长度是成正比的,由于他们设置的超时太短,从而导致超时

 

解决办法是:

       针对不同的业务场景要不同的处理。 

       我们的场景是:  其实调用方大量的请求都是重复的请求,我们对请求处理的结果他们并没有存储,这样导致每次用户访问同一个页面的时候,我们都要重复去计算内链。所以后来调用方做了两件事,第一是提高超时时间,第二对已经计算得到的结果进行存储,减少重复请求,第三对过长的文本进行截断或者分批请求

 

2、服务处理不过来了

调用方是通过nginx来访问的我们的服务,客户端报超时,但是nginx日志和我服务端日志都没有报超时

nginx记录的是它和我服务端通信的一个状态,即使客户端超时主动断开了与nginx的连接,只要nginx设置的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生活不只*眼前的苟且

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值