http read time out一次事故

先介绍下业务背景:

   最近由于业务调整,加了个上传附件的功能,采用的是http form 表单提交。使用的工具是httpclient-4.4.1,MultipartEntityBuilder方式直接提交。每次上传文件成功之后,就大概率出现后面的post请求read time out。整个文件大小在100kb左右,耗费的时间大概是1s到2s。抓包发现每次要是文件上传出现tcp Retransmission/TCP Out_of_Order等错误情况下,后面的请求无法正常连接对方服务器,请求则出现read time out.、

分析下面的抓包情况(文章底部有WireShark错误说明):


上面的情况很有可能是网络的原因,又由于时间紧迫,对方这个接口已经上线一年了。

说他们没问题,没法继续查。

一旦出现了上面这种情况,后面的请求只要是该端口发送到443,则一定会出现read time out.

http4以上,众所周知都是Apache自己去有连接池去连接,并不是我们手动去管理连接了。





由于时间紧迫,对方提出了用sftp上传文件,还没找出为啥,这个问题就绕过去了。简单记录下吧。

WireShark出现的常见提示 

TCP Out_of_Order的原因分析: 
一般来说是网络拥塞,导致顺序包抵达时间不同,延时太长,或者包丢失,需要重新组合数据单元,因为他们可能是由不同的路径到达你的电脑上面。 
TCP Retransmission原因分析: 
很明显是上面的超时引发的数据重传。 
TCP dup ack XXX#X原因分析: 
就是重复应答#前的表示报文到哪个序号丢失,#后面的是表示第几次丢失。 
tcp previous segment not captured原因分析 

意思就是报文没有捕捉到,出现报文的丢失。 



参考:

http://blog.csdn.net/chenfengdejuanlian/article/details/53761004

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值