1 votes

Comment générer un trafic de 40gbps ?

J'utilise un contrôleur ethernet Intel X710 (4 x 10G port) et DPDK + DPDK pktgen pour générer un trafic de 40gbps. Je peux atteindre 10Gbps avec un port et un cœur, 20Gbps avec deux ports et deux cœurs mais je ne peux pas atteindre 40gbps avec quatre cœurs et quatre ports. ( 28gbps est la limite )

J'ai vérifié l'emplacement PCIe 3.0, la bande passante de la mémoire et l'emplacement du socket du CPU, mais rien ne semble y faire.

Quel pourrait être le problème ?

utilisant Intel xeon e5 2690 x2, carte mère Sun Microsystem X9DRG-QF, 112GB ram.

La commande exacte que j'ai utilisée est la suivante sudo -E ./app/x86_64-native-linuxapp-gcc/pktgen -l 0,1,2,3,4 -n 8 --proc-type primary -- -N -T -P -m 1.0 -m 2.1 -m 3.2 -m 4.3 -f themes/black-yellow.theme.

La sortie de cpu_layout.py est la suivante

cores =  [0, 1, 2, 3, 4, 5, 6, 7]
sockets =  [0, 1]

       Socket 0        Socket 1       
       --------        --------       
Core 0 [0, 16]         [8, 24]        
Core 1 [1, 17]         [9, 25]        
Core 2 [2, 18]         [10, 26]       
Core 3 [3, 19]         [11, 27]       
Core 4 [4, 20]         [12, 28]       
Core 5 [5, 21]         [13, 29]       
Core 6 [6, 22]         [14, 30]       
Core 7 [7, 23]         [15, 31]

DPDK : 17.11.3 pktgen : 3.5.0

Merci.

1voto

Dave Melia Points 41

J'ai un X710 avec 4 * 10G avec E5-2699v4 fonctionnant à 2.2Ghz. Je suis capable de générer un trafic de 40Gbps avec une taille de paquet de 128bytes. Si j'utilise des paquets de 64 octets, je peux générer 30Mpps.

J'ai utilisé isolcpus et nohz_full sur le cpu désiré, X710 et les cœurs sont sur le même NUMA, et j'ai assigné des threads rx|tx séparés pour les ports '-m [1:2].0, [3:4].1, [5:6].2, [7:8].3'.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X