三、调试注意事项
1. 当前ring buffer是否设置为网卡ring buffer;
2. 高负载时注意CPU占用率,重点关注软中断和网络数据包处理线程的占用率总和;
3. 关注low memory剩余容量,长时间测试时,剩余容量是否有下降趋势;
4. 长时间测试后,查看log,系统是否有出现异常报警;
四、推荐优化方法
1. 提高CPU处理能力,例如提升CPU频率或者运行模式;
2. 提高内存总容量,增加系统内存或者更换更大的内存;
3. 优化软中断收发包的处理方法,将软中断处理数据包的过程分为两步处理。例如把收包放到软中断里面处理,把数据包上报协议栈放到内核线程处理,类似于上半部和下半部。这样做可以减少中断屏蔽时间,尽可能多的接收外部数据到网卡缓冲区,从而增加吞吐量。同时,用内核线程去上报数据包到协议栈可以避免丢包。