有网络流量的低流量中,延迟会更高

时间:2019-03-21 16:25:55

标签: tcp netty

在我们的生产环境中,发生了一个奇怪的问题:低流量中的延迟较高。 然后,我使用Netty4构建Tcp Server和Client,并通过一个连接发送数据。每个请求为100kB。 qps(每秒请求数)= 1中的延迟远高于qps = 100中的延迟。 条件:

  1. 服务器与客户端之间的PING延迟约为2毫秒。
  2. TCP_NODELAY选项在两侧都打开。
  3. 在服务器端,它将休眠20毫秒util响应(模拟产品服务)。

测试结果:

  • <24ms,当qps = 100(每个请求100kB)时;
  • >当qps = 1时为35ms(每个请求100kB);
  • <23ms,当qps = 1时(每个请求1kB);

qps = 1时,不同包装尺寸的延迟时间

  • ping延迟:1.66ms
  • 100kB-39ms
  • 50kB-32ms
  • 20kB-27.38ms
  • 17kB-26.15ms
  • 15kB-25.9ms
  • 10kB-22.62ms(可以接受)

我想找出导致流量不足的性能下降的原因。我想知道它是否是由某些Tcp选项引起的。

1 个答案:

答案 0 :(得分:0)

最后,我们找到了造成此高延迟,低流量问题的原因。通过使用不同的程序包大小进行测试,转折点为14KB:如果程序包不大于14KB,则延迟显示为预期的时间,但是如果程序包大小增加至15KB,则延迟会变得更糟。因此,我们尝试将net.ipv4.tcp_init_cwnd从10更新为100,由于在同一个滑动窗口中可以包含多个TCP包的请求,因此延迟减少了。