多佇列指例項規格支援的最大網絡卡佇列數。單個ecs例項vcpu處理網路中斷存在效能瓶頸時,您可以將例項中的網路中斷分散給不同的cpu處理。經測試,在相同的網路pps和網路頻寬的條件下,與1個佇列相比,2個佇列最多可提公升效能達50%到100%,4個佇列的效能提公升更大。
如果您使用的映象已預設開啟網絡卡多佇列功能,請跳過此章節內容。
本節以aliyun linux 17.1映象為例,假設例項主網絡卡名稱為eth0,輔助彈性網絡卡名稱為eth1,介紹如何手動配置網絡卡多佇列。
執行命令ethtool -l eth0
檢視主網絡卡支援多佇列的情況。
[root@localhost ~]# ethtool -l eth0
channel parameters for eth0:
pre-set maximums:
rx: 0
tx: 0
other: 0
combined: 2 # 表示最多支援設定2個佇列
currenthardware settings:
rx: 0
tx: 0
other: 0
combined: 1 # 表示當前生效的是1個佇列
說明 如果返回資訊中,兩個combined
字段取值相同,則表示彈性網絡卡已開啟支援多佇列。
執行命令ethtool -l eth0 combined 2
開啟網絡卡的多佇列功能。命令作用是設定主網絡卡eth0使用兩個佇列。
[root@localhost ~]# ethtool -l eth0 combined 2
設定輔助網絡卡的多佇列。
# 檢視輔助網絡卡eth1支援多佇列的情況
[root@localhost ~]# ethtool -l eth1
channel parameters for eth1:
pre-set maximums:
rx: 0
tx: 0
other: 0
combined: 4 # 表示最多支援設定4個佇列
current hardware settings:
rx: 0
tx: 0
other: 0
combined: 1 # 表示當前生效的是1個佇列
# 設定輔助網絡卡eth1使用4個佇列
[root@localhost ~]# ethtool -l eth1 combined 4
(推薦)開啟irqbalance服務,讓ecs例項自動調整網路中斷在多個vcpu核上的分配。執行命令systemctl start irqbalance
開啟服務。
執行命令systemctl status irqbalance
檢視服務狀態。
結果顯示active (running)
,表示已開啟irqbalance服務。
說明 開啟網絡卡多佇列後,如果網路效能提公升仍達不到您的預期,您可以考慮開啟rps(receive packet steering)特性。
阿里雲官方提供的centos、ubuntu公共映象,預設開啟rps特性。如果您使用的是其他公共映象或者自定義映象,可參考如下shell指令碼自行開啟rps特性。
#!/bin/bash
cpu_num=$(grep -c processor /proc/cpuinfo)
quotient=$((cpu_num/8))
if [ $quotient -gt 2 ]; then
quotient=2
elif [ $quotient -lt 1 ]; then
quotient=1
fifor i in $(seq $quotient)
docpuset="$f"
done
for rps_file in $(ls /sys/class/net/eth*/queues/rx-*/rps_cpus)
doecho $cpuset > $rps_file
done
lvs 網絡卡多佇列
bin bash 平均繫結cpu到網絡卡多個佇列上,避免單核cpu跑滿的問題 ipmi cpu高 f sys module ipmi si parameters kipmid max busy us echo 10 sys module ipmi si parameters kipmid max b...
網絡卡多佇列學習小結
1.網絡卡多佇列 網絡卡多佇列是需要多佇列網絡卡支援的。所謂網絡卡多佇列是網絡卡硬體支援的。1 開啟軟體多佇列的方法 2 檢視軟體多佇列開啟的效果 cat proc interrupts grep eth0 cat proc interrupts grep eth0 2.設定irq affinity...
Linux網路協議棧 多佇列網絡卡原理
背景 近日因公司大促,mysql從伺服器前端共享的一台lvs因流量跑到2gps 而出現 lvs丟包,client端 不停丟擲mysql connect failed異常.故障特徵 大流量時為lvs的cpu其中乙個core使用率100 其他23個core使用率小於10 明顯地 根本原因 lvs使用li...