我有可能在开发帐户中运行 aws ec2 实例,并且我看到的大多数实例 cpu 使用率在大多数情况下都不会超过 5% 。例如,即使在运行 kafka 的 kubernetes 集群之一中,当我们使用 t3.xlarge(16gb ram 和 4vcpu)机器进行 kafka 集群设置时,cpu 使用率也不会超过 5% 或最大 6%。
所以我的问题是有一种方法可以确定我是否真的完全利用了我们选择的实例,以便如果没有完全利用,我可以将我的实例类型降级为低成本实例。我看到了 aws 计算优化器,但那是说大多数实例仅优化了 1 或 2 个,它显示为未优化,未充分利用。
此外,大多数应用程序可能是 kafka,默认情况下请求 8gb 内存和良好的 cpu 以获得更好的使用,但云监视图表实际上并没有显示它完全使用。
因此有什么办法可以解决这个问题并降低aws中的ec2成本吗?
你可以试试:
在我看来,它们的 CPU 配置过多,但您应该检查 RAM 的使用情况。操作系统可能将所有 RAM 用于缓存,我在 Linux“空闲”中使用的关键指标是“已使用”内存。“免费”指标考虑了用于缓冲区/高速缓存的内存。
您还可以使用预留实例或储蓄计划来节省资金,但首先要调整实例大小。您应该考虑自动扩展,以便 AWS 根据需要添加实例。
我的经验是大多数企业服务器都过度配置。我可以运行具有 512MB RAM 和 512MB 交换空间的低负载 t3a.nano,为六个运行 Nginx / PHP / MySQL / 其他实用程序(如 Dropbox 的开源版本)的低容量网站提供服务,并且运行良好。