Heroku:我如何根据加载时间动态缩放dynos?

时间:2011-03-17 14:32:44

标签: heroku scale

根据各种因素,我的应用程序可能会在一天中随机出现非常大的负载增加。

在那些时候,我想自动增加dynos的数量。

我想根据加载时间增加。因此,如果要加载页面需要X时间,请增加dynos。否则,请回去。

这样的东西存在吗?

3 个答案:

答案 0 :(得分:18)

HireFire能够根据各种指标自动扩展您的网络和工作人员动态。我们目前支持以下指标来源/类型:

  • HireFire(响应时间)| Web Dynos
  • HireFire(工作队列)|工人Dynos
  • Heroku Logplex(响应时间)| Web Dynos
  • Heroku Logplex(每分钟请求数)| Web Dynos
  • Heroku Logplex(Dyno CPU Load)| Web Dynos
  • NewRelic(Apdex)| Web Dynos
  • NewRelic(响应时间)| Web Dynos
  • NewRelic(每分钟请求数)| Web Dynos

HireFire(响应时间)执行基本HTTP请求以测量响应时间。

HireFire(作业队列)允许您根据队列大小自动调整工作人员dynos。您将在您的最终设置一个非常简单的端点(我们有一个RubyGem,但它可以用任何语言完成,非常容易使用任何库)。我们会定期进行检查并相应地调整您的工作人员dyno形成。

New Relic 允许您与New Relic集成。它会定期获取最新的度量标准数据,例如平均响应时间,每分钟请求数和Apdex,以确定您的网络动态数据形成。

Heroku Logplex 是我们的最新成员。这种方法依赖于您的(和Heroku' s)日志。您的日志将从Heroku的Logplex流式传输到HireFire的Logdrain,在那里它将被解析为度量数据。这使您能够以比HireFire / ResponseTime更可靠的方式自动缩放Web dynos,因为它直接从Heroku的路由器抓取数据。这种方法也不需要任何外部依赖,例如New Relic。

如果您有任何疑问,请与我们联系!

答案 1 :(得分:5)

刚刚为此推出了一个新的即插即用插件:https://addons.heroku.com/adept-scale

答案 2 :(得分:0)

似乎heroku-autoscale是一个不错的选择。