对dynos数量的建议

Sng*_*eat 2 ruby-on-rails heroku

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

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

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

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

jwa*_*all 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个并发用户.

希望这对你有所帮助!