我有兴趣了解 AWS 物理服务器的硬件资源(CPU、磁盘、网络等)在不同应用程序之间共享的方式。人们是否有过在 AWS 上运行的服务发生莫名其妙的性能变化的经历,而您已成功将其归因于共享物理资源的另一个应用程序?如果是这样,您是如何进行调试的?
特别是,我对资源之间更复杂的交互感兴趣,例如 CPU-> 内存带宽。如果您在一台机器上运行 15 个虚拟机,您的性能肯定会比运行 2 个虚拟机更差。
也许这是一个关于 Xen 虚拟化的更普遍的问题,但我不知道是否有某种我不知道的 AWS 魔法在幕后发生。
我不确定这是否是解决此类问题的正确论坛;如果没有,如果您能将我指向资源或其他论坛,将会很有帮助。
最佳答案
Amazon EC2 实例不易受到“吵闹的邻居”问题的影响。
基于 Instance Type选择后,EC2 实例接收 CPU、内存和(对于某些实例类型)本地连接的磁盘存储。这些资源专用于实例,不会受到其他用户或其他虚拟机的影响。 (一个异常(exception)是 t1
和 t2
实例类型。)
具体来说:
t1
和 t2
的注释)。 EC2 Instance Type page将 vCPU 定义为:Each vCPU is a hyperthread of an Intel Xeon core for M4, M3, C4, C3, R3, HS1, G2, I2, and D2.
上述因素均不受同一主机上运行的其他实例(虚拟机)的影响。
t1
和 t2
实例类型
上述声明的一个异常(exception)是:
t1.micro
instances “提供少量一致的 CPU 资源,并允许您在有更多周期可用时在短时间内增加 CPU 容量。”t2
instances基于 CPU Credits 系统提供突发容量。 CPU 积分根据实例类型以固定速率获得,这些积分可用于在必要时爆发 CPU。对于这两种实例类型,我假设这种突发容量在实例之间共享,因此 CPU 突发可能会受到其他也希望突发的实例的影响。但是,t2
实例只会在 CPU 确实爆裂时才消耗 CPU 积分,从而使这种情况变得“公平”。
专用实例和专用主机
专用实例或专用主机的使用对分配给每个实例的资源没有影响。它们将获得与作为普通共享实例运行时相同的资源。
https://stackoverflow.com/questions/40443867/
相关文章:
php - 如何使用 laravel 5.2 获取 Blade 文件(HTML)中的最后一部分 ur
javascript - 如何将 JSON/Bootstrap-Table 中的日期转换为 DD/M
asp.net - 时间的 DataFormatString (ASP.Net)
angular - 在 Angular2 中,您如何检测过滤器/管道未返回任何结果
git - 如何直接从 Google Cloud Source Repository 部署到 Goo
php - 使用干预将图像的 DPI 从 72 更改为 300