【问题标题】:Dyno's Management on Heroku with UnicornDyno 在 Heroku 上的独角兽管理
【发布时间】:2014-02-04 20:20:48
【问题描述】:

在我的应用程序正常工作之前,我使用了 2 个 web dyno 1 个 worker dyno 和 1 个 resque dyno。但突然我增加了 4 个 web dynos、2 个 resque dynos 和 2 个 worker dynos 的 dynos 总数。这妨碍了我的应用程序的性能。

有时会出现错误消息

[NewRelic][02/04/14 04:33:18 +0000 163ac5c4-qwqq-4271-b38a-absajsg2323s (19)] 错误:Mysql2::Error: 用户 'b0ffsaasbffa' 已超出 'max_user_connections' 资源(当前值:15)

请告诉我该怎么办?

【问题讨论】:

  • 你为 Unicorn 配置了多少个工作进程?您已经消耗了所有 MYSQL 连接,因此您需要增加连接数或减少创建连接的进程数。
  • worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)

标签: heroku resque unicorn


【解决方案1】:

当您运行 4 个 dynos 和 3 个 unicorn 工作进程时,每个进程都使用 12 个连接作为开始。听起来您正在使用限制连接数的数据库计划。

Heroku 有一篇关于并发性和数据库连接如何工作的非常好的文章 - https://devcenter.heroku.com/articles/concurrency-and-database-connections,值得一读。

【讨论】:

  • 根据我的数据库计划,我最多可以使用 15 个连接。
  • 是的,所以其中一些连接可能会变坏,所以它们仍然可以计算,那么您的 Heroku 工作人员也有。
  • 好的。那我该怎么办呢。我应该增加连接还是只减少 Dynos?但我不想限制没有。的用户使用我的应用程序。
猜你喜欢
  • 1970-01-01
  • 2013-01-10
  • 1970-01-01
  • 2023-03-20
  • 2012-09-17
  • 1970-01-01
  • 2012-04-05
  • 2012-03-25
  • 1970-01-01
相关资源
最近更新 更多