排查IOException Broken pipe 错误
引用分析, Broken Pipe 是如何发生的:
Not every Broken Pipe exception is developer's fault 并非每个 Broken Pipe 异常都是开发人员的错
导致此异常的可能因素:
- 最终用户数
由于 Broken Pipe 的主要原因之一是用户的行为(在服务器完成发送响应之前意外关闭了活动的浏览器会话),最终用户数量的增加增加了 Broken Pipe 的机会。
- 重响应负载(返回数据量大)
来自服务器的大量响应需要大量时间才能传输到客户端,而这个巨大的时间跨度可能就是 Broken Pipe 的情况。
- 服务器超时(有代理的情况)
如果 Web 服务器在等于服务器设置的超时值的特定时间内无法从服务获得响应,它会关闭与客户端的连接,返回 503: Gateway Timeout,从而导致 Broken Pipe。