在AWS上共享资源

时间:2016-11-05 22:23:50

标签: performance amazon-web-services xen vcpu

我有兴趣了解不同应用程序之间共享AWS物理服务器的硬件资源(CPU,磁盘,网络等)的方式。人们是否有关于在AWS上运行的服务中无法解释的性能变化的经验,您已成功归因于共享物理资源的另一个应用程序?如果是这样,你是如何调试它的?

特别是,我对资源之间更复杂的交互感兴趣,例如CPU->内存带宽。如果在一台计算机上运行15个虚拟机,则运行2个虚拟机的性能肯定会更差。

也许这是一个关于Xen虚拟化的更普遍的问题,但我不知道是否存在某些我不了解的AWS魔术。

我不确定这是否是这类问题的正确论坛;如果没有,如果您可以指向我的资源或其他论坛,那将会很有帮助。

1 个答案:

答案 0 :(得分:5)

亚马逊EC2实例不容易受到“吵闹的邻居”的影响。问题。

根据所选的Instance Type,EC2实例接收CPU,内存和(对于某些实例类型)本地连接的磁盘存储。这些资源专用于实例,不会受到其他用户或其他虚拟机的影响。 (例外情况是t1t2实例类型。)

具体做法是:

  • 为实例分配了多个 vCPU 。这些是提供给实例的,没有其他实例可以使用这些vCPU (请参阅下面有关t1t2的说明)。 EC2 Instance Type page vCPU 定义为:
  

每个 vCPU 是针对M4,M3,C4,C3,R3,HS1,G2,I2和D2的Intel Xeon核心的超线程。

  • 为实例分配了 RAM 的数量。没有其他实例可以使用此RAM。 CPU和RAM都没有超额认购。
  • 可能会为实例分配本地连接的磁盘存储,称为实例存储短暂存储。当实例停止或终止时,此磁盘存储不会保留,因此仅存储在其他位置复制的临时数据或数据。
  • 为实例分配专用于该实例的网络带宽。没有其他实例可以影响此network bandwidth网络效果基于所选的instance type。基本上,较大的实例可以获得更多的网络性能。

上述因素均不会受到在同一主机上运行的其他实例(虚拟机)的影响。

t1t2实例类型

以上陈述的例外是:

  • t1.micro instances"提供少量一致的CPU资源,并允许您在额外的周期可用时短时间内增加CPU容量"。
  • t2 instances根据 CPU Credits 系统提供突发容量。根据实例类型,CPU Credits以恒定速率获得,并且这些信用可用于在必要时突发CPU。

对于这两种实例类型,我会假设此突发容量在实例之间共享,因此CPU突发可能会受到其他希望突发的实例的影响。但是,t2个实例会使这个“公平”的情况变为“公平”。通过仅在CPU确实爆发时消耗CPU积分。

专用实例和专用主机

  • Dedicated instances是" Amazon EC2实例,它们运行在专用于单个客户的硬件上的虚拟私有云(VPC)中。"基本上,您的AWS账户将是该主机上唯一运行实例的账户。
  • Dedicated Host是一个物理服务器,其EC2实例容量完全专用于您的使用。专用主机允许您使用现有的每插槽,每核或每个VM软件许可证,包括Windows Server,Microsoft SQL Server,SUSE,Linux Enterprise Server等。"基本上,您需要为整个主机付费,然后在主机上单独启动实例(不收取额外费用)。

使用专用实例或专用主机对分配给每个实例的资源没有影响。他们将获得与正常共享实例一样运行时相同的资源。