我创建了一个Amazon EC2 Auto Scaling组,它应该始终至少有一台服务器。
当CPU利用率超过80%时,添加2台服务器
当CPU利用率低于30%时终止2台服务器
这里的挑战是,我应该如何增加/减少CPU利用率?我无法连接到任何实例或使用CLI,因为我在Office系统/受限制的AWS访问中。
尽管有这些限制,有没有办法测试这个?
答案 0 :(得分:2)
如果你想测试"真实"那么你需要一种方法来在系统上产生负载。
这可能是人为负载(例如,触发执行计算的程序,只是为了旋转CPU),或者是系统将执行的实际活动的真实模拟。
没有必要测试Amazon EC2的Auto Scaling是否真的有效 - 如果是这种情况,AWS状态页面上会显示问题 - 所以我认为您只是想测试自己的配置。在这种情况下,您应该真正测试真实世界场景,例如模拟执行用户将执行的典型活动的同时用户数量。
如果您进行任何其他形式的测试(例如虚假增加CPU负载),您并未真正测试您希望Auto Scaling执行的实际情况,因此您的测试结果赢得了&#39 ;实际上是有用的。
例如,可能是您的应用程序在遇到任何CPU限制之前遇到内存问题或单线程问题。在将真实用户投入您的系统之前,这是您真正想知道的事情。
答案 1 :(得分:1)
有一种方法可以使用Stress对实例或容器(假设它是基于Linux的)进行压力测试,该软件包旨在在指定的时间内启动CPU,然后提高CPU百分比在指定的时间后关闭。它还有其他参数可以自定义测试。
我个人最喜欢的测试系统响应和灾难恢复的工具是使用Netflix的ChaosMonkey。这是一个由Netflix支持的开源项目,旨在测试容错能力。在生产中使用它取决于个人喜好,但这是测试系统的工具。