这是一个完整的头部划痕。
我有一个在Passenger上运行的Rails应用程序。
我已经testing了来自几个不同的客户端(通过curl)的服务,发现他们完美的performance。 除了一个特定的客户端(它恰好是客户端),我们观察POST请求的间歇性失败(大约60-70%的时间)。
失败的请求在Apache访问日志中显示为500响应,但是应用程序代码甚至没有被调用。
curl报道这样的事情:
答复是:
Done waiting for 100-continue < HTTP/1.1 100 Continue * Recv failure: Connection was aborted * Closing connection #0 curl: (56) Recv failure: Connection was aborted
还通过Charles Proxy观察到“网关超时”错误消息。
发送更多数据时,失败率似乎更高。
我真的对这个错误感到困惑,因为它只显示给一个特定的客户端。 我只能猜测networking路由中有什么是造成这个问题的原因,但是没有丝毫的想法来解决这个问题。
有人看过这样的事情吗?
我的猜测是,从客户端的上行链路如此糟糕,以至于数据POST永远不会完成。 由于数据从未发送,应用程序从来没有得到它。
当通过移动(GSM)调制解调器连接时,我有时会遇到问题。 当我连接到一个体面的上行链路时,相同的网站完美地工作。