Amazon EC2 Auto Scaling 测试

Amazon EC2 Auto Scaling test

我创建了一个 Amazon EC2 Auto Scaling 组,它应该始终至少有 1 个服务器。

  1. 当 CPU 利用率超过 80% 时加起来 2 台服务器

  2. 当 CPU 利用率低于 30% 时终止 2 个服务器

这里的挑战是,我应该如何increase/decreaseCPU利用?我无法连接到任何实例或使用 CLI,因为我在 Office 系统/受限 AWS 访问中。

尽管有这些限制,有没有办法对此进行测试?

如果您想测试 "real" 情况,那么您将需要一种在系统上产生负载的方法。

这可能是人为负载(例如,触发一个程序进行计算,只是为了旋转 CPU)或您的系统将执行的实际活动的真实世界模拟。

没有必要测试 Amazon EC2 的 Auto Scaling 是否真的有效——如果是这样的话,AWS 状态页面上会显示问题——所以我想你只是想测试你自己的配置。在这种情况下,您确实应该测试 真实世界场景 ,例如 模拟大量同时用户执行用户会执行的典型活动

如果您进行任何其他形式的测试(例如假增加 CPU 负载),您并不是在真正测试您希望 Auto Scaling 执行的真实情况,因此您的结果测试实际上不会有用。

例如,您的应用程序可能在达到任何 CPU 限制之前就遇到了内存问题或单线程问题。在让真正的用户使用您的系统之前,您真的很想知道这些。

有一种方法可以使用 Stress 对实例或容器进行压力测试(假设它基于 Linux),该软件包旨在为 CPU指定的时间量,然后在指定的时间量后降低 CPU 百分比。它有其他参数来自定义测试。

我个人最喜欢的测试系统响应和 DR 的工具是使用 Netflix 的 ChaosMonkey。这是一个开源项目,由 Netflix 支持,旨在测试容错能力。在生产中使用它取决于个人喜好,但它是用于测试系统的工具。