当我用iperf测试我自己的'10 Gigabit‘实例(c3.8xlarge)时,我不会看到传输速率超过1.73Gbps。这至少比一位“可伸缩博客”的博主在测试表明,7 Gbps和9.5Gbps的测试结果上报道的要糟糕四倍。
我在位于同一区域和区域的两个c3.8x大型实例之间进行测试,因此这些应该是最佳基准测试条件。其中一个c3.8xlarge充当iperf服务器,另一个充当iperf客户端。这两个实例都是使用Amazon 2013.09.2-ami-5256b825(64位)启动的。
发布于 2014-02-11 23:44:39
AWS支持承认只有在私有子网上的实例之间才能实现10 GbE的速度。它要求使用私有IP,而不是使用公共IP,在我的情况下,公共IP总是以1.73Gbps的速率达到最大值。这可能会根据区域和区域而改变。如果你看到不同的结果,请张贴在这里。
这意味着当涉及到外部吞吐量时,与具有“高”网络功能的较小实例相比,c3.8xlarge (或类似的10个GbE实例)提供了可怕的价值。一个c1.media实例的价格是c3.8xlarge的1/16,但是它允许超过c3.8xLarge10 GbE实例(~1,7 Gbps)的一半(~0,95 Gbps)。
有关AWS支持的答案,请参见Wowza论坛上的这条线。
发布于 2014-01-30 10:23:44
由于虚拟化层的存在,网络层不能直接使用DMA,CPU不得不来回复制数据,花时间做软数据。在这种情况下,当传输的数据包太多时,需要告诉内核为此使用多个CPU核心。
您可以通过执行watch -n1 cat /proc/softirqs和查看NET_RX来监视这一点。
幸运的是,有一个名为包引导的特性,它允许我们使用更多的CPU核心来接收和传输数据包。

若要允许CPU使用多个核心来接收数据包,可以执行echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus。
为了传输,你可以做echo f0 > /sys/class/net/eth0/queues/tx-0/xps_cpus
这样,前4个核心将用于接收,下一个将用于发送。
f => 1+2+4+8 = 15 in hexadecimal
f0 => 16+32+64+128 = 240 in hexadecimal发布于 2015-09-22 23:59:49
希望这能对你有所帮助,我们想知道EC2's真正的公众面对吞吐量有一段时间了。我们刚刚在C4.8xl实例上运行了几个Wowza实例,每个实例在6+Gbps上没有问题。根据http://www.aerospike.com/blog/boosting-amazon-ec2-network-for-high-throughput/,以下基准似乎非常准确:
*网络带宽Amazon提供一系列具有不同内存和CPU数量的实例类型。然而,没有很好地“文档化”的是网络功能,它们被简单地归类为-低、中等、高和10 is。根据我们在AWS上运行Aerospike服务器和在AWS上运行iperf的实验,我们能够更好地将这些类别定义为以下数字:
https://serverfault.com/questions/570879
复制相似问题