我最近从一家小型 VPS 提供商转到了 AWS EC2。我的流量通常在一天内呈爆发式增长,因此我得出结论,运行多个 t2.micro 实例是迄今为止最经济的解决方案。
对于那些不了解这一点的人来说:微型实例非常便宜,您可以获得 1 个 CPU 核心的 10% 基本使用率。但是,如果您的平均使用率低于 10%,您可以在短时间内使用高达 100% 的资源。
因此,运行 10 个微型实例(0.15 美元/小时)要便宜得多,最多有 10 个核心在短时间内同时满负荷运行,而不是使用一个大型实例(例如 m4.2xlarge - 0.57 美元/小时)获得类似的性能
微型实例的唯一缺点是,与单个大型实例相比,它们必须运行 10 倍的操作系统基本使用量。
我目前使用的是 Windows Server,它已经占用了 10% 允许 CPU 使用率的很大一部分。Ubuntu 与之相比如何?它是否更轻量(尤其是没有 GUI),并且会将更多的性能留给实际的托管任务?
答案1
我有一台 Amazon Linux 服务器(无 GUI),它与 Ubuntu 有点相似,但并不完全相同。当服务器不处理请求时,CPU 利用率约为 0.03%,而且我很快就能达到最大 CPU 信用值。
八个 t2.micro 实例每月 86 美元,一个 m4.2xl 每月 350 美元。如果您使用 t2 实例,您还需要一个负载均衡器,如果您每月使用 50GB,则需要额外支付约 20 美元(我认为)。您还需要构建您的网站,以便您可以从多个 Web 服务器而不是一个大型服务器提供服务,这可能意味着您需要支付 RDS 数据库的费用,而不是在您的实例上运行它 - 或者在另一个 t2 上运行它。t2.micro 有 1GB 内存,如果您的应用程序占用大量内存,您可能会发现大型 t2 实例效果更好。
您可能应该考虑优化,因为需要 8 个核心,这是相当繁重的工作。匿名用户缓存页面,即使只有 5 分钟这样的短时间,也有很大的好处。使用 CDN 可以减轻 Web 服务器的工作负担。设置客户端缓存的标头可能会有所帮助。
如果您准确地说出您所提供的服务,您可能会得到更好的建议。