【问题标题】:Heroku Request timeout issue, - Any other alt Solution?Heroku 请求超时问题 - 还有其他替代解决方案吗?
【发布时间】:2015-12-16 08:46:27
【问题描述】:

我有 Heroku 的开发设置,它使用 Professional 1X dyno(25 美元),后端应用使用 MongoLab。

问题不仅仅是实际的页面加载,我经常收到请求超时错误。太烦人了。

我的本​​地代码连接到 MongoLab 服务可以完美运行,使用相同的 rails 环境设置没有任何问题。

日志:

2015-09-19T05:58:55.478168+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path=“/pro/busi/3" host=appname.herokuapp.com request_id=637b8ed8-f85c-4bf3-ae01-1d81f4495bed fwd="73.170.78.112" dyno=web.1 connect=1ms service=30000ms status=503 bytes=0

2015-09-19T05:59:26.347172+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/favicon.ico" host=appname.herokuapp.com request_id=815dc81d-6adc-4aca-b30d-f7631d935f7b fwd="73.170.78.112" dyno=web.1 connect=1ms service=30001ms status=503 bytes=0

我打算从 heroku 迁移到另一个虚拟主机。谁能告诉我 Ruby on rails + 用于生产设置的 mongodb 配置/其他网络托管解决方案的系统要求?

请指教。

【问题讨论】:

  • 你能把在heroku日志中发现的错误贴出来
  • 后台有没有运行内存大的进程?显示日志可能会有所帮助。
  • 无后台进程,页面需要加载大约6000多条记录。我正在使用“model.All”在一个 stmt 中从 DB 中获取价值。
  • 同意,日志信息会有所帮助。您可以/应该也写信给 heroku 支持寻求帮助。 (我为 mongolab 工作)
  • 我包含有问题的日志条目

标签: ruby-on-rails mongodb heroku amazon-ec2 mlab


【解决方案1】:

如果您只是在寻找 Heroku 的替代品,您可以通过谷歌搜索“heroku 替代品”轻松找到许多替代品。例如:https://www.engineyard.com

但如果问题出在您的代码上,您也可能会遇到同样的问题。

您提供的信息有限,只能做一些猜测。无论如何,这里有一些您可以在 Heroku 上尝试的建议:

  1. 避免 N+1 查询
  2. 如果提取大量记录,则分页。为什么有人想在一页上看到 6000 多条记录?
  3. 如果您尚未设置 New Relic,请进行设置。监控响应时间。
  4. 试试 2x dyno 看看能否解决问题。
  5. 您在生产中使用哪个应用服务器?如果是 Unicorn,请检查设置并确保您没有分配太多进程。

回到 Heroku 与其他人相比,除非您是经验丰富的 DevOps 人员,否则我建议您最初使用 Heroku,因为它非常易于部署和管理基础架构。

【讨论】:

    【解决方案2】:

    6000 条 AR 记录会占用大量内存 - 这些是 Rubyland 中的一些非常重的对象,您的工人可能会变得臃肿,然后在超过 heroku 限制时被杀死,而您遇到的超时是在您等待他们的时候重生,

    尝试在视图中使用ActiveRecord::Batches.find_each 看看会发生什么,问题是否会随着较小的批量大小(例如大约 200)而消失?

    查看您的内存消耗日志,看看在您对该页面执行四次 ctrl+R 后它们是否达到峰值。

    编辑,至于替代方案...您始终可以设置自己的 EC2 实例,但我尽量不进入系统管理区域。问题可能不仅仅是heroku,还有一些关于您的应用程序错误并值得调查的问题,

    你运行了多少台测功机?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多