我们在ec2中运行了许多m1、中/大型实例。一般来说,这些机器最适合我们的需要。但是,我们在节点之间得到了一些非常糟糕的吞吐量。深入研究表明,这些节点位于不同的子网上,可能位于不同的数据中心。
为了获得更大的吞吐量,我想尝试让EC2尽可能地将这些节点更紧密地放在一起(Network)。我们的拓扑结构如下:
从节点挂载导出的NFS驱动器。
很明显,如果奴隶在离服务器很远的地方被分离出来,我们就会得到一些可怕的吞吐量。
我知道布局组,但是这些似乎需要更昂贵的实例类型和一种完全不同的可视化技术,以及当我们需要额外的40个节点时,我们的布局组中就没有空间了。
这将大大增加我们的成本,减少我们的灵活性。
有什么建议吗?
发布于 2012-06-12 15:18:14
您需要在相同的可用性区域中启动实例和位置组:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
在启动实例或创建放置组(EC2-创建-放置-组)时,可以选择可用性区域。这些区域通常是A、B、C或无偏好(默认-随机).
同一可用性区域中的节点连接在相同的10 6Gbps网络上--这比运行在SATA3接口-6 6Gbps上的固态驱动器上的带宽要好。
不同的区域位于同一区域(例如,美国东北部),但通常距离相当远,以便实现灾难恢复。他们肯定在不同的数据中心,可能在同一地区的不同州,如美国东北部。亚马逊不公布实际的地点。
注意,似乎没有一种方法可以指定通过AWS管理控制台创建位置组的可用性区域--您可能需要使用API。
我见过整个可用性区域在EC2上运行过几次--因此,如果要将整个基础设施转移到将应用程序置于风险的同一可用性区域,则需要在两个区域之间进行某种灾难恢复或容错实现。
希望这能有所帮助。
https://stackoverflow.com/questions/10999252
复制相似问题