linux网口环回测试程序,Linux启用TCP_NODELAY的环回性能

我最近偶然发现一个有趣的TCP性能问题,同时运行一些比较网络性能和环回性能的性能测试.在我的情况下,网络性能超出了环回性能(1Gig网络,同一个子网).在这种情况下,我处理延迟是至关重要的,所以TCP_NODELAY被启用.我们提出的最好的理论是TCP拥塞控制是阻止数据包.我们做了一些分组分析,我们可以肯定地看到数据包正在被持有,但原因不明显.现在的问题…

1)在什么情况下,为什么通过环回进行通信会比网络慢?

2)尽可能快地发送,为什么切换TCP_NODELAY会比通过网络对环回的最大吞吐量有更多的影响?

3)如何检测和分析TCP拥塞控制作为对性能不佳的潜在解释?

4)有没有其他理由说明这个现象的原因?如果是,任何方法来证明理论?

以下是一个简单的点对点应用程序生成的一些示例数据:

Transport Message Size (bytes) TCP NoDelay Send Buffer (bytes) Sender Host Receiver Host Throughput (bytes/sec) Message Rate (msgs/sec)

TCP 128 On 16777216 HostA HostB 118085994 922546

TCP 128 Off 16777216 HostA HostB 118072006 922437

TCP 128 On 4096 HostA HostB 11097417 86698

TCP 128 Off 4096 HostA HostB 62441935 487827

TCP 128 On 16777216 HostA HostA 20606417 160987

TCP 128 Off 16777216 HostA HostA 239580949 1871726

TCP 128 On 4096 HostA HostA 18053364 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值