在Heroku上使用较大的dynos与更多的dynos之间的权衡是什么

时间:2015-10-03 23:42:17

标签: ruby-on-rails heroku

在运行Unicorn工作人员的Heroku Rails 4.2网络应用程序中,每个工作人员需要大约230MB,我们可以每'1X'Heroku dyno运行2个,或者每'2X'Heroku dyno运行4个。 CPU要求非常低。

如果我们需要8名工人来处理我们的流量,那么使用4个“1X”dynos与2个“2X”dynos来获得8名工作人员的技术/性能权衡是什么?

(两年前有一个广为人知的问题,就是Heroku正在向dynos发送信号的方式,因为我记得有更多的工作人员表现得更好,因为请求被排到“忙碌”的dyno的可能性更小但是我没有找到关于何时最好使用更大的dynos与更多dynos的当前指南。)

1 个答案:

答案 0 :(得分:0)

据我所知,你已经提到Heroku路由器不知道并关心特定dyno中的负载,并通过随机选择算法发送请求。 https://devcenter.heroku.com/articles/http-routing

所以很可能会看到很多连续的请求转到同一个dyno。我正在观察当前应用程序的行为。

但是在你的情况下,如果一个工人需要230MB,那么你就不能在Standard-1X dyno中使用2个工人,因为他们的最大内存是512M。所以我认为你应该选择像3-4名工人那样的2X dynos。 2X dynos最多可以使用1GB内存。