我要在EMR上执行一项星火任务。这项工作目前正受到网络的阻碍(从S3读取数据)。看看Ganglia中的指标,我得到了一条大约600 MBPs的直线。我使用的是i2.8x大型实例类型,它应该提供10 10Gbps,即~1280 10Gbps。我已经证实了增强的网络是打开的,而VirtualizationType是hvm,我是不是遗漏了什么?还有其他方法来增加网络吞吐量吗?
发布于 2016-10-23 07:21:29
网络容量 of Amazon EC2实例基于实例类型。实例越大,可用的网络容量就越大。您使用的是i2家族中最大的实例类型,所以这很好。
增强联网降低了网络延迟和抖动,并且可以在有限数量的实例类型上使用。你在用它,所以这很好。
i2.8xl被列出为具有网络吞吐量的10Gbps,但这仅限于同一安置组中的通信量。我的测试表明,EMR实例是而不是,它们在Placement Group中启动,因此它们可能无法获得完全的网络吞吐量。
您可以通过使用更小的实例而不是更少的大型实例来进行试验。例如,2 x i2.4xlarge的成本与1 x i2.8xlarge相同。
发布于 2017-12-06 01:57:10
在每个EC2家族的最大实例类型上,S3->EC2带宽实际上限制在5 5Gbps (625 of /s),甚至在具有增强网络和20 5Gbps网络接口的实例上也是如此。S3团队已经证实了这一点,这与我在实验中观察到的情况相吻合。较小的实例以较低的利率限制利率。
S3的第一个字节的时间约为80-100毫秒,在第一个字节之后,理论上它能够以85 in /s的速度将数据传送到单个线程。然而,我们平均只观察到每个线程大约60 on /s (IIRC)。S3证实,这是预期的,并略高于他们的客户观察。我们使用了一个HTTP,它使到S3端点的连接保持活跃。小对象产生低吞吐量的主要原因是时间到第一个字节的高。
下面是我们在使用各种S3实例从EC2下载时观察到的最大带宽(以MB/s计):
Instance MB/s
C3.2XL 114
C3.4XL 245
C3.8XL 600
C4.L 67
C4.XL 101
C4.2XL 266
C4.4XL 580
C4.8XL 600
I2.8XL 600
M3.XL 117
M3.2XL 117
M4.XL 95
M4.10XL 585
X1.32XL 612我们已经对32 16对象进行了上述测试,线程计数在10-16之间。
另外,
在ec2 实例矩阵上引用的网络性能按照这里的描述进行基准测试。这是同一个VPC中亚马逊EC2 Linux实例之间的网络带宽。我们在s3和ec2实例之间观察到的不是他们所承诺的那样。
EC2实例网络性能似乎被归类为:
在指定为低、中等或高的实例上确定网络带宽似乎是逐案进行的。
C3、C4、R3、I2、M4和D2实例使用Intel 82599g虚拟函数接口,并为增强联网提供了最大实例大小的10 Gigabit接口。
10和20 Gigabit接口只有在通用布局组内进行通信时才能达到这一速度,这通常是为了支持HPC。布局组外的网络流量最大限制为5 Gbps。
上面提到的网络带宽是在两个实例之间,而不是在s3和ec2之间。即使是在两个实例之间,当它们处于相同的放置组+有HPC支持时,我们也可以在10/20 Gigabit左右实现一些功能。
https://stackoverflow.com/questions/40199327
复制相似问题