关于亚马逊EC2的几个问题

时间:2009-01-30 15:27:07

标签: amazon-ec2 multicore cloud

亚马逊根据虚拟核心和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个核心?

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

3 个答案:

答案 0 :(得分:6)

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

  

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

我在一个小型实例上运行my small website,同时在一个虚拟机上托管Web服务器和数据库。我对性能印象深刻,但同样不会给它带来巨大的负担。

如果您所有人都在努力,那么我会尝试在两个服务器上运行一个小型实例(1个核心,1个EC2单元,每小时0.10美元),并查看它是如何叠加的。下一步将是一个高CPU中型实例(2个内核,5个EC2单元,每小时0.20美元)。除非你真的在锤击你的服务器,否则我必须相信你能够在那个单一的媒体实例上运行它们。只需两倍于小实例的价格,就可以获得五倍的性能,这比运行两个小实例要好得多。

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

答案 1 :(得分:3)

“4个EC2计算单元(2个虚拟核心,每个2个EC2计算单元)”只是意味着你得到2个虚拟cpu,每个虚拟cpu的速度是基本Small实例的两倍。

总的来说,你获得的功能是Small实例的4倍,但由于你只获得2个内核,所以只启动两个线程是有意义的。

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

如果你必须扩展我建议将两个服务分成不同的服务器,而不是运行更大的服务器,只是因为更容易为特定服务优化每个主机。

答案 2 :(得分:0)

我记得,“计算单位”不是测量核心,而是衡量“功率”。

  

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

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