我有一个10 1GbE连接到交换机的服务器,以及10个客户端,每个客户端都有到同一个交换机的1GbE连接。
在每个客户机上并行运行nuttcp,我可以以接近有线的速度同时将10个TCP数据流推送到服务器(即从所有10个客户端同时提供100 on /秒)。
然而,当我反转方向并将数据从服务器发送到客户机--即10个TCP流,每个客户端-- TCP重传急剧上升,性能下降到每秒30、20甚至10兆字节/秒。我想得到这些数字,因为这个流量模式代表了我所关心的某些应用程序。
我已经证实,我的服务器能够通过10 the连接到类似的服务器上执行相同的实验,从而使10 the链路饱和。我已经证实我的任何端口上都没有错误。
最后,当我强行钳制(限制)接收器的TCP窗口大小时,我可以获得更高的带宽(30-40 to /秒);如果我将其钳制得极低,就可以使重传变为零(带宽非常低)。
因此,我有相当的信心,我是超过缓冲区在我的交换机,导致包丢失由于拥塞。然而,我认为TCP的拥塞控制应该能很好地处理这一问题,最终稳定在50%以上的线路速度。
所以我的第一个问题很简单:哪种TCP拥塞控制算法最适合我的情况?他们有很多可用的,但他们似乎主要是针对有损耗的网络或高带宽高延迟网络或无线网络.这些都不适用于我的情况。
第二个问题:还有什么我可以尝试的吗?
发布于 2013-03-22 04:11:18
https://serverfault.com/questions/489484
复制相似问题