我在客户端运行一个简单的程序,它继续向服务器发送 udp 数据包。服务器的接口是一个多队列网卡,但是我将它的udp4的rx-flow-hash设置为sd。所以所有的数据包都将在一个 CPU 中产生。
当我收到 40Wpackets/s 时,服务器在 softirq 中的 CPU 成本为 1%。当我收到 60Wpackets/s 时,服务器在 softirq 中的 CPU 成本为 8%。当我收到 90Wpackets/s 时,服务器在 softirq 中的 CPU cosr 100%。
收到的号码是通过运行sar -n UDP 1
一段时间得到的。cpu成本暂时可以通过mpstat -P ALL 1
。
所以我对此感到困惑。
为什么它不是线性的?