CPU AWS EC2 实例上的学分 那是如何工作的
CPU credits on AWS EC2 instance how does that work
我有一个微型亚马逊 EC2 实例,每当这个平台上的托管应用程序承受几个小时的大负载时,应用程序就会变慢并且 CPU 积分几乎为零。
我已经打开了自动缩放选项,但它仍然不起作用,有人能帮我弄清楚如何解决这个问题吗?
所有 t2 实例都使用可突发模型。这并不是真正为持续大量使用而设计的。该实例在空闲时会累积 CPU 个积分,直至达到上限。当 CPU 达到最大值时,将花费积分。一旦你 运行 出局,你的上限就会非常低。您可以获得的积分数量和获得积分的速度取决于您使用的是哪个 t2 实例。
自动缩放用于水平缩放。有了它,您可以根据某些触发器启动额外的实例。但是您需要使用负载均衡器来跨实例分配流量。
关于您如何看待 CPU 利用率的问题,如果您以 100% 使用所有记入的 CPU,我的经验是您没有。例如,您看到的是 top 或 iostat,您的 CPU% 被报告为相当低的值。大约 30%,虽然 IO 没有瓶颈,但您想知道为什么它会卡在低 CPU% 的使用率。
但是您可能会在顶部看到一个值,在最右端,类似于“68% st”的值是 "steal" 值。这意味着您只能获得 CPU 的 32%,因此您的 30% CPU 价值实际上是您获得的价值的 94%。
我还观察到,当您在顶部添加处于 运行 状态 (R) 的进程的 CPU% 时,您会得到一个相对于实际可用的数字 CPU。例如,我有 24 个进程 运行,每个 t2.medium 实例上有 2 个虚拟 CPU,这意味着 192% 实际上 运行,即 96%可用 CPU 个周期,而不是 top 和 iostat 报告的 32% 作为 % 用户。
如果我要生成一个自动缩放触发器,我会查看我可以从 /proc 文件系统中获得什么并考虑 "steal" 数量。
我有一个微型亚马逊 EC2 实例,每当这个平台上的托管应用程序承受几个小时的大负载时,应用程序就会变慢并且 CPU 积分几乎为零。
我已经打开了自动缩放选项,但它仍然不起作用,有人能帮我弄清楚如何解决这个问题吗?
所有 t2 实例都使用可突发模型。这并不是真正为持续大量使用而设计的。该实例在空闲时会累积 CPU 个积分,直至达到上限。当 CPU 达到最大值时,将花费积分。一旦你 运行 出局,你的上限就会非常低。您可以获得的积分数量和获得积分的速度取决于您使用的是哪个 t2 实例。
自动缩放用于水平缩放。有了它,您可以根据某些触发器启动额外的实例。但是您需要使用负载均衡器来跨实例分配流量。
关于您如何看待 CPU 利用率的问题,如果您以 100% 使用所有记入的 CPU,我的经验是您没有。例如,您看到的是 top 或 iostat,您的 CPU% 被报告为相当低的值。大约 30%,虽然 IO 没有瓶颈,但您想知道为什么它会卡在低 CPU% 的使用率。
但是您可能会在顶部看到一个值,在最右端,类似于“68% st”的值是 "steal" 值。这意味着您只能获得 CPU 的 32%,因此您的 30% CPU 价值实际上是您获得的价值的 94%。
我还观察到,当您在顶部添加处于 运行 状态 (R) 的进程的 CPU% 时,您会得到一个相对于实际可用的数字 CPU。例如,我有 24 个进程 运行,每个 t2.medium 实例上有 2 个虚拟 CPU,这意味着 192% 实际上 运行,即 96%可用 CPU 个周期,而不是 top 和 iostat 报告的 32% 作为 % 用户。
如果我要生成一个自动缩放触发器,我会查看我可以从 /proc 文件系统中获得什么并考虑 "steal" 数量。