7

亚马逊根据虚拟核心和 EC2 计算单元来衡量他们的 CPU 分配。EC2 计算单元定义为:

分配给特定实例的 CPU 量以这些 EC2 计算单元表示。我们使用多个基准和测试来管理 EC2 计算单元性能的一致性和可预测性。一个 EC2 计算单元可提供相当于 1.0-1.2 GHz 2007 Opteron 或 2007 Xeon 处理器的 CPU 容量。这也相当于我们原始文档中提到的 2006 年初 1.7 GHz Xeon 处理器。

我的问题是,假设我有一个“大型实例”,它带有“4 个 EC2 计算单元(2 个虚拟核心,每个核心有 2 个 EC2 计算单元)”。这是否意味着我在逻辑上基本上有 4 个核心?我想生成 4 个 CPU 绑定线程吗?还是计算单元只是功率的衡量标准,而我有 2 个内核?

另外,考虑到服务器的可扩展性,将单个机器的计算能力提高一倍并将数据库和服务器托管在同一个机器上会更好吗?还是我应该有 2 个单独的、较弱的盒子?

4

3 回答 3

6

nicholaides 是正确的,小实例相当于一个核心,大的两个核心。测量的其余部分表示为计算单位,其定义如下:

一个 EC2 计算单元 (ECU) 提供相当于 1.0-1.2 GHz 2007 Opteron 或 2007 Xeon 处理器的 CPU 容量。

我在一个小型实例上运行我的小型网站,Web 服务器和数据库都托管在一个虚拟机上。性能给我留下了深刻的印象,但再次没有太多的负载。

如果您所关心的只是物超所值,我会尝试您的设置,两台服务器都运行在一个小型实例上(1 个核心,1 个 EC2 单元,每小时 0.10 美元),看看它是如何叠加的。下一步将是一个高 CPU 的中型实例(2 个内核,总共 5 个 EC2 单元,每小时 0.20 美元)。除非您真的在锤击您的服务器,否则我必须相信您将能够在该单个介质实例上运行它们。只需小实例两倍的价格,即可获得五倍的性能,这比运行两个小实例要好得多。

需要注意的一件事是,小型和高 CPU 中型实例是 32 位的,而所有其他实例(大型、超大型和高 CPU 超大型)都是 64 位。您不能在 64 位实例上运行 32 位 Amazon 系统映像,反之亦然。如果您使用的是库存 AMI,这不是问题,因为您通常可以找到它的两个版本,但对于自定义图像,它可能会让您做一些额外的工作。

于 2009-01-31T15:49:08.310 回答
3

“4 个 EC2 计算单元(2 个虚拟核心,每个有 2 个 EC2 计算单元)”仅仅意味着您获得 2 个虚拟 CPU,每个 CPU 的速度是基本小型实例的两倍。

总的来说,您获得了 Small 实例 4 倍的功率,但由于您只有 2 个内核,因此只启动两个线程是有意义的。

至于你的第二个问题,我认为布拉德·拉尔森回答得很好。Medium 实例具有很大的性价比。我们在同一台主机上运行我们的 db en web 服务器,令人惊讶的是,您可以在一台机器上运行多少个 db-heavy 站点。但是,由于它取决于您自己的应用程序,因此最好的办法是对其进行基准测试以查看它可以处理多少负载。

如果您必须扩大规模,我建议将这两个服务分成不同的服务器,而不是运行更大的服务器,因为它更容易针对特定服务优化每个主机。

于 2009-02-03T01:20:37.127 回答
0

我记得,“计算单元”不是测量核心,而是简单的“功率”测量。

另外,考虑到服务器的可扩展性,将单个机器的计算能力提高一倍并将数据库和服务器托管在同一个机器上会更好吗?还是我应该有 2 个单独的、较弱的盒子?

这真的取决于应用程序。尝试一下并获取硬数据可能是您最好的选择。

于 2009-01-30T22:20:09.097 回答