linux网络包转发性能优化与分析

一.如果用linux系统做网关类数据转发功能,则需要对linux系统做很多网络优化,才能使转发包性能达到最优

二.可以从如下几个方面着手处理

1.iptables规则,tc规则

2.ecmp流量打散

3.contrack
连接跟踪(CONNTRACK),跟踪并且记录连接状态。Linux为每一个经过网络堆栈的数据包,生成一个新的连接记录项 (Connection entry)。

4.RPS (Receive Packet Steering)
他把收到的packet依据一定的hash规则给hash到不同的CPU上去,以达到各个CPU负载均衡的目的。

5.网卡性能调优,修改系统参数
net.core.netdev_budget
在软中断中还要用到一个全局变量netdev_budget,这个变量表示一次软中断所能接收的最大报文数,默认值为300
net.core.netdev_max_backlog
每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目

6.系统层面,如dpdk,硬件方面,如P4


欢迎一起留言讨论.

你可能感兴趣的:(linux网络包转发性能优化与分析)