bluemix 运行时:自动垂直可伸缩性?
bluemix runtime: auto vertical scalability?
很明显,自动缩放服务允许自动水平扩展和扩展应用程序。而且我也可以通过手动 increasing/decreasing 内存来手动垂直缩放我的应用程序。
有没有办法根据某些规则自动增加和减少与 node.js 实例关联的内存?
Bluemix 中的 Auto-Scaling 附加组件根据其策略监视所选资源并增加或减少实例数量,而不是垂直缩放(内存)。
为什么您的节点应用程序的内存需求会增加?您可以使用数据库或兑现服务来卸载其中的一部分吗?在需要时依靠增加内存目前是一种不好的做法,因为它会在您的应用程序重新启动时需要一小段停机时间。
正如拉姆所说。 Auto-Scaling 服务目前不支持纵向扩展。
您可以通过实例的离散数量或实例总数的 % 进行水平扩展。
查看docs每种应用程序类型支持的指标
编辑:打字错误!
注意 Bluemix 根据 GB * 小时对应用程序收费。因此,总的来说,您将在垂直缩放和水平缩放之间收取类似的费用。然而,垂直缩放确实提高了内存使用效率,因为内存开销更少(例如,您只加载 node.js 运行时一次而不是两次或更多)。但是水平缩放也有它的优点:
- 由于增加了应用程序实例而提高了可用性;
- 分布式进程带来更好的并发性;
- 可能更好地探索 CPU 资源(由于 CGroup 用于 CPU 分配的方式)。
因此,如果您的应用程序需要大量内存,那么为每个实例分配大内存是有意义的。否则,如果应用 CPU 饿了,那么水平缩放可能会更好。您可以做一些基准测试来评估这两个选项对响应时间和吞吐量的影响。
很明显,自动缩放服务允许自动水平扩展和扩展应用程序。而且我也可以通过手动 increasing/decreasing 内存来手动垂直缩放我的应用程序。
有没有办法根据某些规则自动增加和减少与 node.js 实例关联的内存?
Bluemix 中的 Auto-Scaling 附加组件根据其策略监视所选资源并增加或减少实例数量,而不是垂直缩放(内存)。
为什么您的节点应用程序的内存需求会增加?您可以使用数据库或兑现服务来卸载其中的一部分吗?在需要时依靠增加内存目前是一种不好的做法,因为它会在您的应用程序重新启动时需要一小段停机时间。
正如拉姆所说。 Auto-Scaling 服务目前不支持纵向扩展。
您可以通过实例的离散数量或实例总数的 % 进行水平扩展。
查看docs每种应用程序类型支持的指标
编辑:打字错误!
注意 Bluemix 根据 GB * 小时对应用程序收费。因此,总的来说,您将在垂直缩放和水平缩放之间收取类似的费用。然而,垂直缩放确实提高了内存使用效率,因为内存开销更少(例如,您只加载 node.js 运行时一次而不是两次或更多)。但是水平缩放也有它的优点:
- 由于增加了应用程序实例而提高了可用性;
- 分布式进程带来更好的并发性;
- 可能更好地探索 CPU 资源(由于 CGroup 用于 CPU 分配的方式)。
因此,如果您的应用程序需要大量内存,那么为每个实例分配大内存是有意义的。否则,如果应用 CPU 饿了,那么水平缩放可能会更好。您可以做一些基准测试来评估这两个选项对响应时间和吞吐量的影响。