1

我们希望在我们的 rails 应用程序的弹性 beanstalk 上运行这两个实例developmentproduction

的特点production是:

  • 低流量
  • 主要是 CRUD
  • 渴望响应页面(商业努力,而不是爱好)

数据库要求(在 eb 实例上没有):

  • 将使用多模式 RDS 实例
  • development目前在 eb 实例上使用 sqlite
  • development可能会为两者使用相同的RDS 实例production

我们development目前是一个t1.micro,很明显,即使是为了开发也不会削减它(登录有时需要 60 秒)。

我会进行实验,但如果有人对为每个环境选择合适的实例类型以及哪些标准/约束对轨道(即计算单元)最有意义有任何快速建议,我将不胜感激。

4

1 回答 1

1

我的 2 美分 - 靠 CPU 而不是内存。CPU总是有帮助的;至少您的应用程序将在部署时更快地编译资产并加载到内存中。我建议从生产中的 2x c1.medium 开始(在 2 个不同的 AZ 中用于基本冗余)和开发中的 1x m1.small。

不要过度考虑机器的大小,而是把容易实现的目标放在正确的位置,即:将静态资产放在 CDN 上并实现片段缓存(存储在每个环境的专用 redis 或 memcached 节点中)。

如果您以前从未这样做过,New Relic Pro 可能会让您在识别应用程序中的瓶颈方面领先一步。

然后开始负载测试!

另外,请不要在生产和开发之间共享您的 RDS 实例。通过为每个环境提供自己的数据库来隔离这两个环境。

于 2013-08-16T16:58:11.193 回答