高BDP时,奇怪的丢包问题
本帖最后由 henrystark 于 2015-03-17 19:57 编辑最近在测试时,遇到了奇怪的问题。
RTT 1200ms,带宽100Mbps,BDP较大。
完全不使用WANem设置链路丢包,也跑不满带宽。单流测试。有效吞吐率只有1到2MByte/s。
测试环境:
server-----WANem------client
server端内核2.6.38,client端内核2.6.32
尝试减小延时,发现在RTT为100ms左右时,可以跑满。
随延时增加,吞吐率减小。
推测原因是两端丢包引起,使用tcpdump定位丢包。
分别在server网卡、WANem左右两个网卡、client网卡上捕包。
查看seq出现空缺的情况。
四个网卡的捕包文件,分析seq空缺,表明client端有大量丢包,其它网卡没有丢包。
尝试调整系统参数tcp_wmem、tcp_rmem、wmem_max、wmem_default、rmem_max、rmem_default。
把这些系统参数都调整到BDP大小,即15MB,约等于10000个pkt,client端仍然有大量丢包,吞吐率依然较低。
调大这些参数后。cwnd、in_flight、rwnd打印表明,cwnd和in_flight远不足10000,当cwnd到达2000左右,就有丢包,rwnd足够大。
请问各位高手:除了rmem、wmem这些队列长度限制。还有哪些系统参数配置不足,可以造成以上丢包情况?或者有其它方面的建议?
页:
[1]