对dynos数量的建议

时间:2012-09-18 03:18:51

标签: ruby-on-rails heroku

我是Heroku的新手,想知道如何猜测RoR应用程序可能需要的动态数量(需要给客户一些数字)。

该应用已在免费的1 dyno上运行。以下是该应用的一些基本信息:

  • App主要是数据库读取,写入次数很少
  • 可能很重的数据库负载,包含距离计算的查询(来自lat-long,使用gmaps4rails)
  • 从WAPT(eval版本)的一些基本测试中,它看起来像典型的搜索请求需要一分钟。 ~1.3s,平均~2s,最大4-5s
  • 再次从WAPT测试,最多20个并发用户并观察Heroku日志,我似乎没有看到任何排队的请求
  • 其他请求主要是静态资产

我如何粗略了解所需的dynos数量,处理X并发用户数,或单个dyno可能处理多少并发用户?

1 个答案:

答案 0 :(得分:11)

更新:Heroku更改了他们的dyno定价超级https://www.heroku.com/pricing,因此这些信息可能不再正确。

根据这篇文章http://neilmiddleton-eu.herokuapp.com/getting-more-from-your-heroku-dynos/,如果你使用Unicorn,1 dyno每天可以处理100万个请求(每个请求100ms)。因此,如果您在S3中托管所有媒体,则1个页面视图需要3个请求(1个html,1个管道式css,1个管道式javascript),1个dyno每天可处理大约300.000个页面视图,或每秒80个页面视图麒麟。

假设1个用户将在5秒内查看1个页面,并且您的应用程序可以设法在300毫秒内进行响应,从技术上讲,您将拥有大约400个并发用户和1个dyno。

但实际上我们的应用程序(非常重),1 dyno只能接受1/10,大约50个并发用户。

希望这对你有帮助!