
我有非常強大的 Linux 伺服器 - Dell PowerEdge R6515,它包含使用 AMD Epyc cpu 的 x64 核心。
還有專用 LAN PCI:
lspci | grep 10G
41:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)
41:00.1 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)
我們使用它作為 Strongswan 伺服器的 VPN 伺服器。問題是,對於約 500Mmb 的加密 RX 流量,我們遇到了相當多的介面丟棄。大約 30k 封包中,介面丟棄大約 30 個封包。這導致大約 0.1% 的丟包率。這不是很關鍵,但還有進步的空間。唯一與網路相關的配置是將tunadm 模式設定為網路吞吐量。
ifconfig p3p1
p3p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::faf2:1eff:fed9:dc80 prefixlen 64 scopeid 0x20<link>
ether f8:f2:1e:d9:dc:80 txqueuelen 1000 (Ethernet)
RX packets 2637785997 bytes 1724447946355 (1.5 TiB)
RX errors 0 **dropped 1342892** overruns 0 frame 0
TX packets 2943486813 bytes 1844888609689 (1.6 TiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我使用的是 Centos 7.9。
此外,恆定的軟中斷計數約為 130k。當然,它在核心之間的負載平衡並不相同,這就是為什麼在其他網站上我們使用只有 12 個核心的 PowerEdge R340,它在丟棄甚至中斷方面表現更好。
我認為這種行為與大核心數有很大關係。有什麼可以改進的嗎?我發現有很多調音的可能性,但從我個人的經驗來看,幾乎每首曲子都有一些缺點。