我使用一个戴尔R710和两个四核英特尔cpu和16GB内存.
我安装了两个Intel 82575Gb pcIE卡,每个都有4个端口
板载有4个broadcom BCM5709Gb端口.
所以我总共有12 Gb的nic端口.
我写了一个简单的udp测试程序,使用connect()通过特定的nic发送不间断的虚拟udp数据.
因此,当我启动一个程序通过一个nic发送udp数据时,我可以看到网络吞吐量大约为116MB / s.
这是合理的结果.
然后我开始另一个测试程序,使用另一个nic发送udp.
我得到的最终最大网络吞吐量约为1GB / s.这意味着我只能启动10个测试程序.
另一个启动计划将大幅降低吞吐量.
我的问题是,是否可以使用所有16个端口全速发送数据?
linux支持吞吐量限制吗?
我修改了一些udp sysctl参数但是没有用.
内存似乎足够大,cpu仍然有足够的资源.
任何人都可以帮助我如何调整系统?
10Gb nic怎么样?如果我安装其中两个,我就无法让它们达到全速.
欢迎任何帮助.
谢谢
解决方法 看起来你正在达到最大总线带宽.该服务器有两个PCIE x8插槽,每个插槽最多可让您最多使用4 GB端口.板载broadcom端口可能与普通的旧PCI连接,因此您无法将这些端口连接起来 – 甚至不能关闭.你是对的,它将无法最大化两个10GB / s的NIC.硬件不具备能力.
总结以上是内存溢出为你收集整理的如何在Linux中达到最大网络吞吐量全部内容,希望文章能够帮你解决如何在Linux中达到最大网络吞吐量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)