VPP性能测试
環(huán)境:
# cat /etc/issue Ubuntu 18.04.5 LTS \n \l # # uname -a Linux localhost 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux處理器
vpp# show cpu Model name: Intel(R) Xeon(R) CPU E3-1225 v3 @ 3.20GHz Microarch model (family): [0x6] Haswell ([0x3c] Haswell) stepping 0x3 Flags: sse3 pclmulqdq ssse3 sse41 sse42 avx rdrand avx2 aes invariant_tsc Base frequency: 3.19 GHz安裝VPP
# curl -s https://packagecloud.io/install/repositories/fdio/release/script.deb.sh | sudo bash # apt-get install vpp vpp-plugin-core vpp-plugin-dpdkVPP版本
vpp# show version vpp v21.10.1-release built by root on 4f6ead0c141f at 2021-11-17T14:25:30VPP線程
vpp# show threads ID Name Type LWP Sched Policy (Priority) lcore Core Socket State 0 vpp_main 1178 other (0) 0 0 0 1 vpp_wk_0 workers 1664 other (0) 1 1 0 2 vpp_wk_1 workers 1665 other (0) 2 2 0 3 vpp_wk_2 workers 1666 other (0) 3 3 0網(wǎng)卡
Intel 82599。
vpp# set interface state TenGigabitEthernet3/0/0 up vpp# set interface state TenGigabitEthernet3/0/1 up vpp# vpp# set interface ip address TenGigabitEthernet3/0/0 11.1.1.1/16 vpp# set interface ip address TenGigabitEthernet3/0/1 12.1.1.1/16UIO驅(qū)動
uio_pci_generic啟動參數(shù)配置,需要配置到grub中,重啟生效。
# cat /proc/cmdline BOOT_IMAGE=/vmlinuz-4.15.0-112-generic root=/dev/mapper/ubuntu--vg-ubuntu--lv ro console=tty0 console=ttyS0,115200n8 isolcpus=1-3 rcu_nocbs=1-3 nohz_full=1-3 hugepagesz=1GB hugepages=4 default_hugepagesz=1GB maybe-ubiquity結(jié)果
 RFC2544測試,64字節(jié)報文,雙向大約能達到線速的75%。
網(wǎng)卡X710
開始VPP沒有加載上X710網(wǎng)卡。
# vppctl vpp# vpp# show logging 2022/06/30 07:17:59:833 notice dpdk EAL: Detected 4 lcore(s) 2022/06/30 07:17:59:833 notice dpdk EAL: Detected 1 NUMA nodes 2022/06/30 07:17:59:833 notice dpdk EAL: Detected static linkage of DPDK 2022/06/30 07:17:59:833 notice dpdk EAL: Selected IOVA mode 'PA' 2022/06/30 07:17:59:833 notice dpdk EAL: WARNING! Base virtual address hint (0xa80001000 != 0x7f32c0000000) not respected! 2022/06/30 07:17:59:833 notice dpdk EAL: This may cause issues with mapping memory into secondary processes 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:02:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:03:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:04:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:05:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:06:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:07:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:08:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:09:00.0 (socket 0) 2022/06/30 07:17:59:833 notice dpdk EAL: VFIO support not initialized 2022/06/30 07:17:59:833 notice dpdk EAL: Couldn't map new region for DMA將UIO驅(qū)動替換為igb_uio。
# cat vpp.service [Unit] Description=vector packet processing engine After=network.target[Service] Type=simple ExecStartPre=-/sbin/modprobe igb_uio ExecStart=/usr/bin/vpp -c /etc/vpp/startup.conf ExecStopPost=/bin/rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api Restart=always # Uncomment the following line to enable VPP coredumps on crash # You still need to configure the rest of the system to collect them, see # https://fdio-vpp.readthedocs.io/en/latest/troubleshooting/reportingissues/reportingissues.html#core-files # for details #LimitCORE=infinity[Install] WantedBy=multi-user.target安裝igb_uio內(nèi)核驅(qū)動模塊。
# apt-get install -y dpdk-igb-uio-dkms ... Setting up librte-pmd-octeontx-ssovf17.11:amd64 (17.11.10-0ubuntu0.1) ... Setting up libdpdk-dev:amd64 (17.11.10-0ubuntu0.1) ... Setting up dpdk-dev (17.11.10-0ubuntu0.1) ... Setting up dpdk-igb-uio-dkms (17.11.10-0ubuntu0.1) ... Loading new dpdk-igb-uio-17.11.10 DKMS files... Building for 4.15.0-112-generic Building initial module for 4.15.0-112-generic Done.igb_uio: Running module version sanity check.- Original module- No original module exists within this kernel- Installation- Installing to /lib/modules/4.15.0-112-generic/updates/dkms/depmod........DKMS: install completed. Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for libc-bin (2.27-3ubuntu1.2) ...如下安裝位置。
# find /lib/modules/ -name "igb_uio*" /lib/modules/4.15.0-112-generic/updates/dkms/igb_uio.ko將X710網(wǎng)卡Firmware更新。
# tar -xf 700Series_NVMUpdatePackage_v8_70_Linux.tar.gz # # cd 700Series/Linux_x64/ # # ./nvmupdate64eIntel(R) Ethernet NVM Update Tool NVMUpdate version 1.38.13.1 Copyright(C) 2013 - 2022 Intel Corporation.WARNING: To avoid damage to your device, do not stop the update or reboot or power off the system during this update. Inventory in progress. Please wait ****Num Description Ver.(hex) DevId S:B Status === ================================== ============ ===== ====== ============== 01) Intel(R) Ethernet Converged 8.64(8.40) 1572 00:001 UpdateNetwork Adapter X710 availableOptions: Adapter Index List (comma-separated), [A]ll, e[X]it Enter selection: 1 Would you like to back up the NVM images? [Y]es/[N]o: n Update in progress. This operation may take several minutes. [....|*****]Num Description Ver.(hex) DevId S:B Status === ================================== ============ ===== ====== ============== 01) Intel(R) Ethernet Converged 8.112(8.70) 1572 00:001 UpdateNetwork Adapter X710 successfulReboot is required to complete the update process.Tool execution completed with the following status: All operations completed successfully. Press any key to exit.測試結(jié)果
 RFC2544測試,64字節(jié)報文,雙向大約能達到線速的65%。
總結(jié)
 
                            
                        - 上一篇: Protel 介绍 protel99se
- 下一篇: Simple QQLogin 1.3(Q
