4.2.3. Performance Tuning¶
Slow packet processing¶
- Symptoms
Packet processing performance is not as high as expected.
- Hints
Follow the advice provided in
fast-path.sh config -i
when using the advanced configuration.If running in a VM, check that the
qemu
instance handling your VM is pinned on specific cores. See CPU Pinning for VMs section for details.
Performance drop with Mellanox ConnectX-3 devices¶
- Symptoms:
Packet processing is slower than expected
- Hints:
On Dell and SuperMicro servers, PCI read buffer may be misconfigured for ConnectX-3/ConnectX-3-Pro NICs. Check the output of
setpci -s <NIC_PCI_address> 68.w
. For instance:# lspci | grep Mellanox 04:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro] # setpci -s 04:00.0 68.w 202e
Warning
Beware with the following command, it is known to cause spontaneous reboot on some systems.
If the value is below 0x5020 (here that’s the case), set it to 0x5020:
# setpci -s 04:00.0 68.w=5020
Performance drop with AWS ENA devices¶
- Symptoms:
Packet processing is slower than expected
- Hints:
If ENAv2 is used (both HW, and SW driver), the Low Latency Queue v2 (LLQv2) feature may be enabled on the platform. In this case, DPDK documentation suggests enabling “write combining” for the virtualization driver used as a backend by the PMD. This is disabled by default.
You can automatically do this at module insertion time with an appropriate modprobe.d configuration file:
# /etc/modprobe.d/igb_uio.conf options igb_uio wc_activate=1
Warning
Be careful though, as this has been known to degrade performance depending on your setup (kernel version, ENA without LLQv2…), so make sure to test it.