两个大型实例的性能与一个超大型实例的性能相同吗?我对虚拟化不太熟悉,只是想从高层次上了解它们是否大致相同。
- 大型实例7.5 GB 内存、4 个 EC2 计算单元(2 个虚拟核心,每个核心有 2 个 EC2 计算单元)、850 GB 本地实例存储、64 位平台
- 超大型实例15 GB 内存、8 个 EC2 计算单元(4 个虚拟核心,每个核心有 2 个 EC2 计算单元)、1690 GB 本地实例存储、64 位平台
对于超大型实例,RAM、虚拟处理器数量和存储量都翻倍。但是价格也翻倍了。我以为亚马逊会试图通过将其价格降低到低于两个大型实例来激励客户购买超大型实例。
答案1
有些负载无法很好地扩展,或者只能产生相当多的开销。因此,在某些情况下,一台功能更强大的机器可能比两台较小的机器更有意义。一般来说,使用多个实例时总会存在某种开销:
- 由于运行了多个操作系统实例,内核和必要的用户空间代码的内存需求也会成倍增加
- 同样的逻辑也适用于存储 - 操作系统数据需要存储多次
- 中断(尤其是像定时器这样的周期性中断)需要在所有机器上独立处理,与单实例场景相比,需要使用大量的 CPU 周期
- 如果服务器处理相同的数据集,缓存数据很可能在多个系统之间出现重复
但是,为了提高可用性,通常会采用横向扩展方法。显然,上述所有方法仍然适用,但被接受为独立运行系统单元的必要代价。