networking性能下降(Ubuntu)

我没有设置这个 NodeJs TCP服务器,并用消息flooder进行testing。 只是看看服务器的性能如何。

虽然消息吞吐量是伟大的,如果我在同一台计算机(Ubuntu)上运行服务器和消息flooder,吞吐量dramaticaly减less,如果我启动computer1(ubuntu1)和计算机2(也是Ubuntu)上的消息flooder的服务器。 两台PC都在同一个networking上。 事实上,它们是直接相连的。

我开始search互联网的原因,我想我需要在两个Ubuntu的PC上调整TCP,但直到现在我还没有成功。

有没有人遇到这样的问题,或有人可以帮我吗?

谢谢

这里泛滥的代码是:

var net=require('net') var client = net.createConnection(5000, "10.0.0.2") client.addListener("connect", function(){ for(var i = 0; i < 1000; i++) { client.write("message "); } }) 

当两台计算机都在同一台计算机上运行时,洪泛效果很好,因为您不必通过以太网发送任何数据。 这一切都是通过本地主机在回送接口完成的。

我相信在这种情况下最让你感到沮丧的是两台计算机上以太网接口的性能开销。 通过以太网发送数据确实需要资源。 我可以很容易地把我的CPU放在一台小型的64位1.3GHz的计算机上,networking只有100MBits / s,而不是1Gbits / s(尽pipe以太网可以达到1Gbits / s, )。

当然,很多也取决于以太网硬件和Linux驱动程序的质量。

你有没有考虑使用绑定将2个以太网接口绑定在一起? 根据绑定模式,您可以负载平衡2个接口之间的stream量。 这应该有助于performance。

http://www.linuxhorizo​​n.ro/bonding.html