第 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