如何使用 ethtool 优化 Linux 虚拟机网卡性能
12/31/2018
本文内容
在高并发应用场景下,Linux 虚拟机可能会出现丢包现象,可以通过调整网卡的 Buffer size 来缓解此问题。
本文使用 ethtool 来查看和修改 RX/TX 值来获取更好性能,以下为参考示例:
在 ethtool 配置文件中可以看到,RX/TX 值的单位是 section size:
#define NETVSC_SEND_SECTION_SIZE 6144
#define NETVSC_RECV_SECTION_SIZE 1728
查看当前网卡 RX/TX 参数:
[root@centos75 ~]# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 18811
RX Mini: 0
RX Jumbo: 0
TX: 2560
Current hardware settings:
RX: 10486
RX Mini: 0
RX Jumbo: 0
TX: 192
重要
Pre-set maximums 中的 RX/TX 值为该网卡的 Buffer size 最大值;
Current hardware settings 中 RX/TX 值代表该网卡当前的 Buffer size 大小。
所以,设置的 Current hardware settings 的 RX/TX 值必须在 Pre-set maximums 的限制之内。
调整 RX/TX 参数&#