Heroku请求超时问题, - 任何其他alt解决方案?

时间:2015-09-19 06:15:51

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

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

问题不仅仅是实际的页面加载,我常常收到Request timeout错误。它太烦人了。

连接到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配置的生产设置/其他网络托管解决方案的系统要求吗?

请告知。

1 个答案:

答案 0 :(得分:2)

如果您只是在寻找Heroku的替代方案,那么您可以通过Google搜索' heroku替代方案轻松找到许多替代方案。例如:https://www.engineyard.com

但如果您的代码存在问题,那么您可能会遇到同样的问题。

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

  1. 避免N + 1次查询
  2. Paginate如果拉大量记录。为什么有人想在一个页面上看到6000多条记录呢?
  3. 如果您尚未设置New Relic,请设置它。监控响应时间。
  4. 尝试2x dyno,看看是否能解决问题。
  5. 您在制作中使用哪个应用服务器?如果是Unicorn,请检查设置并确保您没有分配太多进程。
  6. 回到Heroku和其他人,除非你是一个经验丰富的DevOps人,我建议最初使用Heroku,因为它很容易部署和管理基础设施。