bluemix runtime:auto vertical scalability?

时间:2015-05-28 15:34:13

标签: node.js scalability ibm-cloud

很明显,自动扩展服务允许自动横向扩展和横向扩展应用程序。而且我也可以通过手动增加/减少内存来手动缩放我的应用程序。

有没有办法根据某些规则自动增加和减少与node.js实例关联的内存?

3 个答案:

答案 0 :(得分:1)

Bluemix中的Auto-Scaling插件会根据策略监视所选资源,并增加或减少实例数,而不是垂直缩放(内存)。

为什么您的节点应用内存需求会增长?你能用数据库或兑现服务卸载一些吗?在需要时依赖增加内存目前是一种不好的做法,因为在应用程序重新启动时需要很短的停机时间。

答案 1 :(得分:1)

注意Bluemix根据GB * Hour向应用程序收费。因此,在垂直缩放和水平缩放中,您将获得类似的收费。但是,垂直扩展确实提高了内存使用效率,因为内存开销较少(例如,只加载node.js运行时一次而不是两次以上)。但横向缩放也有其优点:

  • 由于应用实例增加而提高了可用性;
  • 分布式流程带来更好的并发性;
  • 可能更好地探索CPU资源(因为CGroup用于CPU分配的方式)。

因此,如果您的应用程序需要大量内存,那么为每个实例分配大内存都是有意义的。否则,如果应用程序处于CPU饥饿状态,那么水平扩展可能会更好。您可以做一些基准测试来评估两个选项的响应时间和吞吐量影响。

答案 2 :(得分:0)

正如拉姆所说。 Auto-Scaling服务目前不支持垂直缩放。

您可以通过离散数量的实例或实例总数的%来水平扩展。

请参阅docs了解每种应用类型支持的指标

编辑:拼写错误!