ruby-on-rails - 关于dynos数量的建议

标签 ruby-on-rails heroku

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

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

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

  • 我如何粗略了解需要的 dyno 数量、处理 X 个并发用户,或者单个 dyno 可能处理的并发用户数?

    最佳答案

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

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

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

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

    希望这对你有帮助!

    关于ruby-on-rails - 关于dynos数量的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469929/

    相关文章:

    node.js - 部署的 node.js 应用程序未显示在默认 IP 地址上,而 nginx 默认页面工作正常

    python - 使用计划任务扩展 Heroku

    ruby-on-rails - heroku 使用 Devise 部署 NameError

    ruby-on-rails - Rails 未定义方法 `id'

    ruby-on-rails - 在 html 字符串中自动链接 URL 和图像

    ruby-on-rails - Ruby - 是否可以将方法别名为安全导航运算符

    Ruby Sinatra - 在 mongoHQ 上连接到 mongoDB 失败

    ruby-on-rails - 隐藏乘客/Nginx 服务器中的 header

    ruby-on-rails - 检测 Elastic Beanstalk 环境?

    ruby-on-rails - 将 mongodb 数据库迁移到 heroku