Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails PG::在Heroku Cedar rails 3.2.11上检测到错误EOF_Ruby On Rails_Postgresql_Heroku_Connection_Pg - Fatal编程技术网

Ruby on rails PG::在Heroku Cedar rails 3.2.11上检测到错误EOF

Ruby on rails PG::在Heroku Cedar rails 3.2.11上检测到错误EOF,ruby-on-rails,postgresql,heroku,connection,pg,Ruby On Rails,Postgresql,Heroku,Connection,Pg,经历了几段停机时间后,我们最近升级到Heroku的生产环境(Crane数据库加上2个web dynos),但我们没有看到任何改进。事实上,自升级以来,可靠性似乎有所下降 根本原因似乎是以下例外: PG::错误(SSL系统调用错误:检测到EOF 这会导致dyno发生故障并最终重新启动,但不会导致停机 我不知道是什么原因造成的。常见的罪魁祸首似乎是Resque和Unicorn,我都没有使用。我们在rails 3.2.11上,在Heroku Cedar上,使用pg gem 1.14.1 日志在崩溃时报

经历了几段停机时间后,我们最近升级到Heroku的生产环境(Crane数据库加上2个web dynos),但我们没有看到任何改进。事实上,自升级以来,可靠性似乎有所下降

根本原因似乎是以下例外: PG::错误(SSL系统调用错误:检测到EOF 这会导致dyno发生故障并最终重新启动,但不会导致停机

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

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

    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]: ):
我读过以下内容:但找不到任何可能有用的东西。

上面修复了异常,这是有用的(因为它应该清理我的日志,甚至有助于加快与数据库的重新连接),但实际上并没有阻止我的主要问题,即Heroku web dynos崩溃的频率比我希望的要高


我正在调查其他一些路由(Unicorn、机架超时)。

听起来appserver和DB之间可能存在间歇性网络问题,但也可能是appserver节点突然终止(比如进程崩溃)你需要查看你的PostgreSQL日志以及appserver日志,而不是完全断开连接。我也怀疑这一点。Heroku postgres日志并没有显示太多有趣的信息,但是查看ruby stacktrace:
connection\u adapters/PostgreSQL\u adapter.rb:294:in'exec'
connection\u adapters/PostgreSQL\u adapterer.rb:294:in'dealloc'我将尝试以下猴子补丁:这个猴子补丁似乎可以阻止上述异常的再次出现。但是它并没有阻止根本问题-Heroku web动态崩溃/计时,然后挂起,比我希望的要频繁得多!这是你需要Heroku“支持”的事情.切换到Unicorn并添加了机架超时(希望在dyno超时时获得更详细的日志消息),我可以报告3天的正常运行时间(在4小时之前运行良好!)。不愿意说它“已修复”迁移到独角兽似乎是不费吹灰之力的,尤其是在Heroku自己推荐的情况下。