当前位置:网站首页>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%。
边栏推荐
- Développement d'un module d'élimination des bavardages à clé basé sur la FPGA
- Mysql数据库慢sql抓取与分析
- SSTI template injection explanation and real problem practice
- Basic knowledge of binary tree, BFC, DFS
- math_极限&微分&导数&微商/对数函数的导函数推导(导数定义极限法)/指数函数求导公式推导(反函数求导法则/对数求导法)
- Ybtoj coloring plan [tree chain dissection, segment tree, tarjan]
- 【leetcode】22. bracket-generating
- How to solve the problem of slow downloading from foreign NPM official servers—— Teach you two ways to switch to Taobao NPM image server
- [001] [stm32] how to download STM32 original factory data
- Global and Chinese markets for fire resistant conveyor belts 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢
P7735-[noi2021] heavy and heavy edges [tree chain dissection, line segment tree]
[001] [stm32] how to download STM32 original factory data
如何修改表中的字段约束条件(类型,default, null等)
Record the pit of NETCORE's memory surge
SSTI template injection explanation and real problem practice
STC8H开发(十二): I2C驱动AT24C08,AT24C32系列EEPROM存储
Detailed explanation of serialization and deserialization
绑定在游戏对象上的脚本的执行顺序
Simple blog system
Facebook and other large companies have leaked more than one billion user data, and it is time to pay attention to did
随机推荐
STC8H开发(十二): I2C驱动AT24C08,AT24C32系列EEPROM存储
Codeforces Round #770 (Div. 2) B. Fortune Telling
MySql數據庫root賬戶無法遠程登陸解决辦法
How to solve the problem of slow downloading from foreign NPM official servers—— Teach you two ways to switch to Taobao NPM image server
脚本生命周期
Figure application details
使用JS完成一个LRU缓存
C (thirty) C combobox listview TreeView
Record the pit of NETCORE's memory surge
Stable Huawei micro certification, stable Huawei cloud database service practice
Explain in simple terms node template parsing error escape is not a function
综合能力测评系统
《2022年中国银行业RPA供应商实力矩阵分析》研究报告正式启动
Développement d'un module d'élimination des bavardages à clé basé sur la FPGA
The Research Report "2022 RPA supplier strength matrix analysis of China's banking industry" was officially launched
Understanding of processes, threads, coroutines, synchronization, asynchrony, blocking, non blocking, concurrency, parallelism, and serialization
pd. to_ numeric
2/13 qaq~~ greed + binary prefix sum + number theory (find the greatest common factor of multiple numbers)
判断当天是当月的第几周
Database, relational database and NoSQL non relational database