我有一个debian实例,它具有允许网络流量的网络防火墙(tcp:80,443)。
在这种情况下,我建立了Nginx和Rails独角兽与非常标准的信任。当我从浏览器中点击服务器检索静态文件时,GCE会立即返回该文件,不会出现任何问题。但是,如果您将服务器闲置5分钟左右,并尝试访问相同的URL/文件,则请求将挂起大约5-7分钟,然后返回。在此期间,其他URL将立即返回,而不是我之前检索到的URL。挂起的请求最终会在5-7分钟后返回。
我检查了日志,Nginx和Unicorn似乎收到了请求,但是响应似乎丢失在网络的某个地方。我怀疑GCE可能正在执行一些缓存,在一些空闲时间后过期,这将导致第二个响应中的长时间延迟。
我已经将问题缩小到GCE,因为我在非GCE上重新创建了相同的堆栈,它们都按预期工作。(顺便说一句,标准的配置包括关闭Nginx和Unicorn的所有缓存)
我是不是错过了我应该设置的配置?
发布于 2014-04-08 19:35:46
Apache/Jetty服务器也有同样的问题。我刚才做的是创建一个非常烦人的循环来唤醒服务器。我猜发生的是服务器睡觉,而最初的不负责任是服务器醒来。我现在拥有的是index.html重定向到redirect.html,后者重定向到我的Java应用程序。当前两个文件被击中时,应用程序已经启动并运行就绪,可以使用了。有点像哈奇和原始。如果有人有更好的解决方案,我会洗耳恭听的!
发布于 2014-07-23 07:01:53
gce文档提到了“保持活动”https://developers.google.com/compute/docs/troubleshooting#communicatewithinternet的问题
我们的服务器也有同样的问题。实现推荐的设置,并监视它一天或两天。
https://stackoverflow.com/questions/22130729
复制相似问题