第 25 章 网络确定提示

TCP 可能会对延迟产生大量影响。TCP 增加了延迟以便获取效率、控制拥塞以及确保可靠交付。在调整时,请考虑以下点:

  • 您需要订购的交付吗?
  • 您是否需要保护数据包丢失?

    多次传输数据包可能会导致延迟。

  • 您是否需要使用 TCP?

    考虑通过使用套接字上的 TCP_NODELAY 禁用 Nagle 缓冲算法。Nagle 算法收集一次性发送的小传出数据包,并对延迟产生不利影响。

有很多用于调优网络的工具。本节介绍一些更有用的工具。

25.1. 合并中断

在传输大量吞吐量的数据的系统中,使用默认值或增加 coalescence 可以增加吞吐量并降低出现 CPU 中断的数量。对于需要快速网络响应的系统,建议减少或禁用并发问题。

要减少中断数量,可以收集数据包,并为数据包集合生成的单一中断。

先决条件

  • 管理员特权。

流程

  • 要启用 coalescing 中断,请使用 --coalesce 选项运行 ethtool 命令。

    # ethtool -C tun0

验证

验证是否启用了 coalescing 中断。

# ethtool -c tun0
Coalesce parameters for tun0:
Adaptive RX: n/a  TX: n/a
stats-block-usecs: n/a
sample-interval: n/a
pkt-rate-low: n/a
pkt-rate-high: n/a

rx-usecs: n/a
rx-frames: 0
rx-usecs-irq: n/a
rx-frames-irq: n/a

tx-usecs: n/a
tx-frames: n/a
tx-usecs-irq: n/a
tx-frames-irq: n/a

rx-usecs-low: n/a
rx-frame-low: n/a
tx-usecs-low: n/a
tx-frame-low: n/a

rx-usecs-high: n/a
rx-frame-high: n/a
tx-usecs-high: n/a
tx-frame-high: n/a

CQE mode RX: n/a  TX: n/a