当前位置:网站首页>VPP性能测试
VPP性能测试
2022-07-06 04:10:00 【redwingz】
环境:
# 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-dpdk
VPP版本
vpp# show version
vpp v21.10.1-release built by root on 4f6ead0c141f at 2021-11-17T14:25:30
VPP线程
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
网卡
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/16
UIO驱动
uio_pci_generic
启动参数配置,需要配置到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
结果
RFC2544测试,64字节报文,双向大约能达到线速的75%。
网卡X710
开始VPP没有加载上X710网卡。
# 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驱动替换为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内核驱动模块。
# 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网卡Firmware更新。
# tar -xf 700Series_NVMUpdatePackage_v8_70_Linux.tar.gz
#
# cd 700Series/Linux_x64/
#
# ./nvmupdate64e
Intel(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 Update
Network Adapter X710 available
Options: 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 Update
Network Adapter X710 successful
Reboot is required to complete the update process.
Tool execution completed with the following status: All operations completed successfully.
Press any key to exit.
测试结果
RFC2544测试,64字节报文,双向大约能达到线速的65%。
边栏推荐
- About some basic DP -- those things about coins (the basic introduction of DP)
- Global and Chinese markets for otolaryngology devices 2022-2028: Research Report on technology, participants, trends, market size and share
- Cross domain and jsonp details
- Exchange bottles (graph theory + thinking)
- STC8H开发(十二): I2C驱动AT24C08,AT24C32系列EEPROM存储
- Overturn your cognition? The nature of get and post requests
- 1291_Xshell日志中增加时间戳的功能
- ESP32_ FreeRTOS_ Arduino_ 1_ Create task
- Stc8h development (XII): I2C drive AT24C08, at24c32 series EEPROM storage
- Stable Huawei micro certification, stable Huawei cloud database service practice
猜你喜欢
math_极限&微分&导数&微商/对数函数的导函数推导(导数定义极限法)/指数函数求导公式推导(反函数求导法则/对数求导法)
Cf464e the classic problem [shortest path, chairman tree]
Overturn your cognition? The nature of get and post requests
WPF effect Article 191 box selection listbox
【按鍵消抖】基於FPGA的按鍵消抖模塊開發
关于进程、线程、协程、同步、异步、阻塞、非阻塞、并发、并行、串行的理解
MySql数据库root账户无法远程登陆解决办法
Execution order of scripts bound to game objects
TCP/IP协议里面的网关地址和ip地址有什么区别?
Error 1045 (28000): access denied for user 'root' @ 'localhost' (using password: no/yes
随机推荐
登录mysql输入密码时报错,ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO/YES
【leetcode】22. bracket-generating
C (XXIX) C listbox CheckedListBox Imagelist
Exchange bottles (graph theory + thinking)
Overturn your cognition? The nature of get and post requests
[introduction to Django] 11 web page associated MySQL single field table (add, modify, delete)
Prime Protocol宣布在Moonbeam上的跨链互连应用程序
Hashcode and equals
【按键消抖】基于FPGA的按键消抖模块开发
如何修改表中的字段约束条件(类型,default, null等)
[PSO] Based on PSO particle swarm optimization, matlab simulation of the calculation of the lowest transportation cost of goods at material points, including transportation costs, agent conversion cos
软考 系统架构设计师 简明教程 | 总目录
判断当天是当月的第几周
How can programmers resist the "three poisons" of "greed, anger and ignorance"?
Stable Huawei micro certification, stable Huawei cloud database service practice
Figure application details
Scalpel like analysis of JVM -- this article takes you to peek into the secrets of JVM
The global and Chinese market of negative pressure wound therapy unit (npwtu) 2022-2028: Research Report on technology, participants, trends, market size and share
Several important classes in unity
Basic use of MySQL (it is recommended to read and recite the content)