【问题标题】:PG::Error EOF detected on Heroku Cedar, rails 3.2.11在 Heroku Cedar,rails 3.2.11 上检测到 PG::Error EOF
【发布时间】:2013-05-19 10:52:15
【问题描述】:

在经历了几次停机之后,我们最近升级到 Heroku 中的生产环境(Crane 数据库加上 2 个 Web dyno),但我们没有看到任何改进。事实上,升级后可靠性似乎有所下降。

根本原因似乎是以下异常: PG::Error(SSL SYSCALL 错误:检测到 EOF 这会导致测功机失败并 - 最终 - 重新启动,但不会在导致停机之前。

我不知道是什么原因造成的。常见的罪魁祸首似乎是 Resque 和 Unicorn,我都没有使用它们。我们正在使用 pg gem 1.14.1 在 Heroku Cedar 上的 rails 3.2.11

日志在崩溃时报告以下内容:

    2013-05-23T19:01:33+00:00 app[heroku-postgres]: source=HEROKU_POSTGRESQL_PINK measure.current_transaction=34490 measure.db_size=38311032bytes measure.tables=19 measure.active-connections=7 measure.waiting-connections=0 measure.index-cache-hit-rate=0.99438 measure.table-cache-hit-rate=0.8824     
2013-05-23T19:01:35.123633+00:00 app[web.2]: 
2013-05-23T19:01:35.123633+00:00 app[web.2]: PG::Error (SSL SYSCALL error: EOF detected
2013-05-23T19:01:35.123633+00:00 app[web.2]: ):

我已阅读以下内容:https://groups.google.com/forum/?fromgroups#!topic/heroku/a6iviwAFgdY 但找不到任何可能有帮助的内容。

【问题讨论】:

  • 听起来 appserver 和 DB 之间可能存在间歇性网络问题,尽管它也可能是 appserver 节点突然终止(比如进程崩溃)而不是完全断开连接。您需要查看 PostgreSQL 日志以及应用服务器日志。
  • 我也很怀疑这一点。 Heroku postgres 日志并没有真正显示太多有趣的信息,但是查看 ruby​​ 堆栈跟踪:connection_adapters/postgresql_adapter.rb:294:in 'exec'connection_adapters/postgresql_adapter.rb:294:in 'dealloc' 我将尝试以下猴子补丁:github.com/rails/rails/issues/3392#issuecomment-4516400
  • 这个猴子补丁似乎可以阻止上述异常的再次发生。然而,它并没有阻止潜在的问题 - Heroku web dynos 崩溃/计时,然后挂起,比我希望的要频繁得多!
  • 这是你需要在 Heroku 的“支持”下完成的事情。

标签: ruby-on-rails postgresql heroku connection pg


【解决方案1】:

https://gist.github.com/ktopping/5657474

上面修复了异常,这很有用(因为它应该整理我的日志,甚至有助于加快重新连接到数据库)但实际上并没有阻止我的主要问题,即 Heroku web dynos 比我更频繁地崩溃喜欢。

正在调查其他一些路由(独角兽、机架超时)。

【讨论】:

  • 已经切换到 Unicorn 并添加了 rack-timeout(为了 - 希望 - 如果/当 dyno 超时时获得更详细的日志消息)我可以报告 3 天的正常运行时间(之前 4 小时是做得好!)。不愿说它是“固定的”,但它确实看起来更好。迁移到 Unicorn 似乎很容易,尤其是 Heroku 自己推荐它。 devcenter.heroku.com/articles/rails-unicorn
猜你喜欢
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多