Google Compute Engine网络会话悬而未决

时间:2014-08-07 13:01:57

标签: nginx passenger google-compute-engine

我已使用Google Cloud SQL和Cloud DNS在Google Compute Engine上设置了Ruby on Rails服务器。

我从Phusion存储库的软件包中安装了Passenger / NGinx运行Debian,我相信所有vhosts都设置正确,我将乘客最小实例设置为2。

到目前为止一切顺利,App已经运行良好,但在尝试访问应用程序浏览器时非常经常地挂起来等待[域名]'并最终超时。这种情况发生在全天不同地点的多个浏览器中,但它是间歇性的。

这不是具有超时和必须启动的应用程序实例,我至少有2个连续运行(并且他们不需要花很长时间才能启动)。

我使用相同的Chef配方来构建服务器,就像我在AWS上完成的那样,从来没有遇到过这个问题。

我有两个域A记录指向这个服务器(有和没有www),奇怪的是它有时只发生在其中一个上,而另一个是好的(这让我觉得网络问题,因为这两个配置相同) 我强烈倾向于认为我在这里遇到DNS或网络问题并且想知道是否有人遇到类似问题或者是否有任何Google员工正在观看?

非常感谢任何可以帮助我诊断问题的提示,因为我喜欢Compute Engine并希望继续使用它。

2 个答案:

答案 0 :(得分:1)

您的应用是否依赖于您用来联系它的主机名?如果没有,尝试仅使用IP地址连接到应用程序似乎很有用。如果这从来没有问题,那么DNS就会成为问题的根源。

如果即使IP地址连接出现问题,您也可以尝试在VM上运行tcpdump,以查看当流量是否到达实例时是否存在问题。如果不是,则涉及网络问题。如果是,则涉及应用程序。

答案 1 :(得分:0)

检查从浏览器调用应用程序后,您很快就会在nginx访问日志中获取一个条目,以查看是否收到了连接。

尝试使用不同的域在端口80上远程登录您的Web服务器,并查看是否立即响应。

我建议您使用http://www.webpagetest.org/从不同位置测试应用程序,看看它是否也从那里发生,看看它是否是http://www.bytecheck.com/的第一个字节问题的时间。

检查由于cookie或与不同域名相关的会话导致的应用程序问题。

的问候。 保罗