👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
参数说明
net.core.rps_sock_flow_entries
rps_cpus
rps_flow_cnt
操作场景
在CPU数量远大于网卡队列时,可通过配置rps_sock_flow_entries参数值,提升网络性能。
云服务器使用虚拟网卡时(例如veth),通过配置rps_sock_flow_entries参数值,可较大程度提升网络性能。
普通的物理网卡不建议配置,否则可能会造成核间中断开销增大,反而降低性能。
RFS依赖于RPS,RPS是默认关闭的,需要开启RPS后,RFS相关配置才能生效。RPS配置CPU列表时,尽量选取与中断CPU同一个NUMA域内的CPU,同时也应尽量排除负载已经很高的CPU。
操作步骤
通过proc接口配置
登录目标实例。操作详情可查看登录Linux实例。
执行如下命令,查看接口值。
查看rps_sock_flow_entries参数值。
cat /proc/sys/net/core/rps_sock_flow_entries
查看rps_cpus参数值。
cat /sys/class/net/eth0/queues/rx-*/rps_cpus
查看rps_flow_cnt参数值。
cat /sys/class/net/eth0/queues/rx-*/rps_flow_cnt
执行如下命令,配置参数值。
配置rps_sock_flow_entries参数值。
echo 32768 > /proc/sys/net/core/rps_sock_flow_entries
配置rps_cpus参数值。
echo ff > /sys/class/net/eth0/queues/rx-*/rps_cpus
配置rps_flow_cnt参数值。
请将4096替换为rps_sock_flow_entries / CPU核数的值,
请将eth0替换为实际网卡名。
echo 4096 > /sys/class/net/eth0/queues/rx-*/rps_flow_cnt
通过文件配置
登录目标实例。操作详情可查看登录Linux实例。
执行如下命令,查看接口值。
sysctl net.core.rps_sock_flow_entries
修改RPS参数值。
CentOS、Fedora
执行如下命令,新建/etc/sysctl.d/rps.conf文件。
sudo vim /etc/sysctl.d/rps.conf
按i键进入编辑模式,在配置文件中添加如下内容。
net.core.rps_sock_flow_entries=32768
按Esc键退出编辑模式,输入:wq按回车键,保存并退出文件。
执行如下命令,新建/etc/sysfs-ng.d/rps.conf文件。
sudo vim /etc/sysfs-ng.d/rps.conf
按i键进入编辑模式,在配置文件中添加如下内容。
请将4096替换为rps_sock_flow_entries / CPU核数的值,
请将eth0替换为实际网卡名。
class/net/eth0/queues/rx-*/rps_cpus = ff class/net/eth0/queues/rx-*/rps_flow_cnt = 4096
按Esc键退出编辑模式,输入:wq按回车键,保存并退出文件。
Debian、Ubuntu
执行如下命令,新建/etc/sysctl.d/rps.conf文件。
sudo vim /etc/sysctl.d/rps.conf
按i键进入编辑模式,在配置文件中添加如下内容。
net.core.rps_sock_flow_entries=32768
按Esc键退出编辑模式,输入:wq按回车键,保存并退出文件。
执行如下命令,新建/etc/sysfs.d/rps.conf文件。
sudo vim /etc/sysfs.d/rps.conf
按i键进入编辑模式,在配置文件中添加如下内容。
请将4096替换为rps_sock_flow_entries / CPU核数的值,
请将eth0替换为实际网卡名。
class/net/eth0/queues/rx-*/rps_cpus = ff class/net/eth0/queues/rx-*/rps_flow_cnt = 4096
按Esc键退出编辑模式,输入:wq按回车键,保存并退出文件。
执行如下命令重启实例,使配置生效
reboot