Ethernet Off_load
降低網路的 cpu loading 除了開啟 offload engine 還可利用調整 coalescing 1. interrupt coalescing 主要是用來做 latency 跟 cpu overhead 之間的 trade-off。 當 adapter 收到 frame 之後,不會立即的對系统產生中斷,而是等一段時間,收集到更多的 frame 後再一次性的處理, 這會降低 cpu 的負載,但是會產生 latency。 察看 ethtool -c eth0 改變 ethtool -C eth1 rx-usecs 500 ethtool -C eth1 tx-usecs 500 rx-usecs 會同時控制 tx 以及 rx 方向的 coalescing。 值越低的,interrupt coalescence 越不容易發生,latency 越小,相對的,cpu 負載也會越大。 如果增加了 rx-usecs,對於 bulk traffic 會比較好,但是會對 tcp 的性能造成大的損失, 可以通過調大 TSO window divisor(default 為 3) 來彌補: net.ipv4.tcp_tso_win_divisor = 30 2. offload 也就是原先由 CPU 完成事被 NIC offload 了。一般用來做 offload 的包括 segmentation 和 checksum。 察看 ethtool -k eth2