首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于KVM的SRIOV直通配置及性能测试

▷ PFVF:每个物理网卡(比如p1p1)就是一个PF,开启SRIOV后,每个PF可以生成固定数量的VF,每个VF都可以宿主上作为一张网卡直接使用,或者直通到QEMU虚拟机里作为虚拟机里的网卡使用...▷ 方法2:macvlan需要自己宿主上敲ip命令设置 ▷ 方法3:有2个问题 ▪ 存在一个bug,当本宿主所有vm使用某个PF的VF总数超过VF上限后,不会报错,也能启动,但是可能会有异常,并且...开启irqbalance x520是2队列,x710是4队列,需要在vm里启动中断平衡服务(irqbalance),否则只会有一个cpu来处理数据包。 另外,这与宿主上vf的query_rss无关。...性能测试 测试方法: ▷ 多台vm同时发包,一台vm收包,分别观察发包性能收包性能 ▷ 发包vm同一台宿主上,收包vm另一台宿主上 ▷ 测试工具:modprobe pktgen ▷ 测试包大小:...此结果参考3对1(3个发包vm,1个收包vm) 说明: ▷ kernel态单核数据包(64B)处理能力为2Mpps ▷ 2Mpps是因为kernel态瓶颈是2Mpps,如果通过dpdk走用户态,则可以大于

2.2K10

linux发包工具igmp_jar打包命令

1.pktgen简介: pktgen是Linux内核里包含的一个高性能发包工具,主要用来测试网络性能。...一般情况下,使用pktgen就可以满足千兆网卡的测试需要,不必花钱购买昂贵的硬件发包设备。 pktgen运行在“内核态”,并不占用太多的系统资源,就可以达到非常高的发包速率。...sudo modprobe pktgen //加载内核模块后,我们可以通过命令modinfo pktgen看到pktgen已经/proc文件系统里内核线程中出现了。...://wenku.baidu.com/view/0a90276d011ca300a6c390a2.html linux上的应用pktgen发包(与pktgen-dpdk发包不同) modprobe pktgen...echo clone_skb 1000>enp61s0f0 //表示复制多少数据包,clone_skb=1000,说明发送完第一个数据包后,接着还发送1000个这种克隆的包;clone_skb=0表示只发送

1.9K30
您找到你想要的搜索结果了吗?
是的
没有找到

DPDK性能压测系列-1:dperf 工具简介

3、能够支持负载均衡功能 常见硬件打流仪表testcenter、IXIA等仪表往往注重的是产生流量产生通用性的协议流量等功能,而对于L4以上的负载均衡、应用协议建立链接、支持会话等等,对负载均衡的支持不够强大...4、常见打流程序如pktgen等缺点 常见的测试方法是:受到内核中断、流量拷贝等等影响,存在如下缺点。...使用UIO可以通过 read感知中断,通过 mmap实现网卡设备的通讯。 UIO是用户态的一种IO技术,是DPDK能够绕过内核协议栈,提供用户态PMD Driver支持的基础。...DPDK架构Linux内核安装了IGB_UIO(igb_uio.kokni.ko.IGB_UIO)模块,以此借助UIO 技术来截获中断,并重设中断回调行为,从而绕过内核协议栈后续处理流程,并且IGB_UIO...用两个核(一个运行dperf客户端,一个运行dperf) 1、X86(Intel(R) Xeon(R) Silver 4214)上能够测出230万HTTP CPS新建, 2、鲲鹏902上可以测出

4.2K50

DPDK盒子使用手册——DPDK入门

DPDK最初的动机很简单,就是证明IA多核处理器能够支撑高性能数据包处理。随着早期目标的达成更多通用处理器体系的加入,DPDK逐渐成为通用多核处理器高性能数据包处理的业界标杆。...现代网卡,往往还支持一些分流(如RSS,FDIR等)Offload(如Checksum,TSO等)功能。DPDK充分利用这些硬件加速特性,帮助应用更好地获得直接的性能提升。...随着DPDK不断丰满成熟,也将自身逐步拓展到更多的平台场景。从Linux到FreeBSD,从物理机到虚拟机,从加速网络I/O到加速存储I/O,DPDK不同纬度发芽生长。...通常,这里会产生一个静态库(.a),不过内核模块也在这个文件夹下。 ? 在下面表格对Lib库的功能做进一步说明。 ? 二、DPDK盒子 本节主要介绍盒子的硬件结构连接使用方法。...鉴于DPDK盒子的便携性,开发者还可以使用基于DPDKPktgen,轻松将DPDK盒子改装成一个发包器,用于支持客户,现场Demo或者其他需要便携式发包仪器的场合。

3.1K50

F-Stack Q&A 第二期

A5:F-Stack腾讯云有配合使用的TCP加速产品libtcpa.so,但未包含在开源组件。后期如果FreeBSD协议栈社区版本融合了BBR,我们也会进行跟进。...Q6:服务器上一个软件用F-Stack,一个软件用普通socket,这样通信是可以的吧,还是说需要交换机才行?...A10:如果直接使用DPDK做四层负载均衡,需要注意以下几个方面。 1. 连接状态保存路由表查询,这个使用DPDK自带的库(librte_hash)或自己实现都比较容易。 2....DNS性能压测,常用的dnsperfqueryperf,性能都不高,可以自己通过pktgen-dpdk (http://dpdk.org/browse/apps/pktgen-dpdk/refs/)等工具自行编写压测客户端...A12:libevlibevent是可以移植到F-Stack的。 Q13:能提供DPDK 中国峰会2017的PPT视频吗?

2.9K100

NFV场景:SR-IOV应用场景及性能研究

2、内存拷贝:网络数据包到来时,网卡通过 DMA 等拷贝到内核缓冲区,内核协议栈再从内核空间拷贝到用户态空间, Linux 内核协议栈,这个耗时操作甚至占到了数据包整个处理流程的 57.1%。...比如:一个数据包可能中断 cpu0,内核态处理 cpu1,用户态处理 cpu2,这样跨多个核心,容易造成 CPU 缓存失效,造成局部性失效。...2、带有OVS的DPDK 什么是OVS? OVS(Open vSwitch)是一款高质量的开源虚拟交换机,运行在hypervisor并为虚拟机提供虚拟网络。...OVS+DPDK 图3 左:Kernel+OVS 右:DPDK+OVS 如图3所示:基于 DPDK 的转发路径替换标准的 OVS 内核转发路径,主机上创建一个用户空间 vSwitch,它完全运行在用户空间中从而提高了...图7 图7为Intel官方给出东西向流量场景下DPDK与SR-IOV的性能测试数据。 南北流量(也包括从一个服务器到另一个服务器的东西流量)的场景,SR-IOV性能要优于DPDK

39020

软硬件融合技术内幕 进阶篇 (4) ——云计算的六次危机()

VirtIO通过虚拟机操作系统植入一个针对虚拟IO设备的驱动程序,避免了全虚拟化网卡(如E1000等)对网卡收发操作触发VM_Exit的开销,解决了虚拟化网络性能从1G到10G的危机; vHost...为了保证数据包的整个生命周期 (也就是所谓的Fast Path)都在用户态处理,不进行user space到kernel mode的切换,我们还需要做两件事情: 将虚拟机的虚拟网卡驱动 (VirtIO...其具体实现可以看这里:《虚拟化与云计算硬核技术内幕 (8) —— “饭圈互撕”的末路》 最终,VM上virtio-pm发出的数据包,所在的物理内存地址,会作为物理网卡包描述符的DMA地址,DPDK驱动中直接操纵物理网卡...随着Intel处理器核数的增加,以及云计算的普及,工程师们更希望同一台Intel x86服务器上,运行多个不同的NFV功能,针对云网络虚拟VPC的编排提供灵活的NFV调度能力。...这样一来,就引发了第四次危机—— 如图,如果我们把NFV部署虚拟机,数据的流向如下: 来自物理网卡的数据首先要通过vSwitch,也就是OVS-DPDK,然后才能够被NFV处理。

62410

Intel DPDK正则库Hyperscan介绍

它是 BSD 许可下作为开源软件发布的。Hyperscan 提供了灵活的 C API 多种不同的操作模式,以确保其实际网络场景的适用性。...了解更多Intel dpdkvpp相关知识,欢迎关注我们: 图1:Hyperscan编译过程 图 2:Hyperscan 运行运行 Hyperscan 运行时是用 C 语言开发的。...我们 alexa200.db 上测试了这些模式集,这是一个大型流量样本,由一个自动 Web 浏览器的 PCAP 捕获构建而成,该浏览器浏览了 Alexa* 上列出的顶级网站的一个子集。...Hyperscan DPDK 可以集成到高性能 DPI 解决方案。图 5 显示了集成解决方案的性能数据。测试,我们使用真实模式 HTTP 流量作为输入。...Hyperscan DPDK 的集成提供了高性能,并且在此测试更大的数据包大小下,性能可以达到线速。

68510

NFVDPDK与SR-IOV应用场景及性能对比

2、内存拷贝:网络数据包到来时,网卡通过 DMA 等拷贝到内核缓冲区,内核协议栈再从内核空间拷贝到用户态空间, Linux 内核协议栈,这个耗时操作甚至占到了数据包整个处理流程的 57.1%。...比如:一个数据包可能中断 cpu0,内核态处理 cpu1,用户态处理 cpu2,这样跨多个核心,容易造成 CPU 缓存失效,造成局部性失效。...2、带有OVS的DPDK 什么是OVS? OVS(Open vSwitch)是一款高质量的开源虚拟交换机,运行在hypervisor并为虚拟机提供虚拟网络。...OVS+DPDK 图3 左:Kernel+OVS 右:DPDK+OVS 如图3所示:基于 DPDK 的转发路径替换标准的 OVS 内核转发路径,主机上创建一个用户空间 vSwitch,它完全运行在用户空间中从而提高了...图7 图7为Intel官方给出东西向流量场景下DPDK与SR-IOV的性能测试数据。 南北流量(也包括从一个服务器到另一个服务器的东西流量)的场景,SR-IOV性能要优于DPDK

1.3K40

如何在openstack环境下实现高性能的网络服务

今天和大家分享下面一些内容: 1.关于openstackVNF网络性能的一些思考思路 2.相关的开源项目 3.OVS 2.4 DPDK with IVSHMEM/vHost-user(w.../DPDK) vHost (w/oDPDK)性能测试数据 4.后续可以一起来做的一些工作 第一部分 关于openstackVNF网络性能的一些思考思路 先来介绍一下背景,目前openstack...如果ovs dpdk最终被采纳的话,那么openstack网络的一些vnf将成为瓶颈。...再来看看,整体的picture如下: 这里ovs-switchd是运行在用户态的进程,通过dpdk pmd直接从物理网卡抓取发送报文,要实现高性能的vnf,需要: ✔高性能的ovs...第一个实验是测试IVSHMEM的pps,我们使用dpdk-pktgen来产生报文,基本上可以打出线速的报文。虚拟机转发的程序使用ring client,ovs的安装目录下有。

1.5K60

OpenStack网络服务数据平面加速

今天和大家分享下面一些内容: 1.关于openstackVNF网络性能的一些思考思路 2.相关的开源项目 3.OVS 2.4 DPDK with IVSHMEM/vHost-user(w/DPDK)...vHost (w/oDPDK)性能测试数据 4.后续可以一起来做的一些工作 第一部分 关于openstackVNF网络性能的一些思考思路 先来介绍一下背景,目前openstack社区版本的一些网络服务如...如果ovs dpdk最终被采纳的话,那么openstack网络的一些vnf将成为瓶颈。...再来看看,整体的picture如下: 这里ovs-switchd是运行在用户态的进程,通过dpdk pmd直接从物理网卡抓取发送报文,要实现高性能的vnf,需要: 高性能的ovs 高性能的...第一个实验是测试IVSHMEM的pps,我们使用dpdk-pktgen来产生报文,基本上可以打出线速的报文。虚拟机转发的程序使用ring client,ovs的安装目录下有。

3.2K60

Tungsten Fabric架构vRouter的部署选项

Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化网络安全所必需的所有组件。...NIC实现 这些选项如下所示: 每个选项的功能优点如下所述: 内核模块vRouter vRouter转发器Linux内核运行的模块的方式,是目前的默认部署选项。...在内核运行使转发器通过KVM的网络堆栈时可以直接访问网络流量,并且与转发器作为用户空间中的进程运行时相比,可以实现显著的性能提升。...DPDK vRouter 英特尔的数据平面开发工具包(DPDK)是一组库驱动程序,允许在用户空间中运行的应用程序直接访问NIC,而无需通过KVM网络堆栈。...DPDK vRouter通过将CPU内核专用于数据包转发来工作,该内核不断转发循环等待数据包。这些内核不能用于运行访客VM,因为它们连续100%运行,这在某些环境可能是个问题。

86410

vpp遇到接口丢包如何解决?

它是思科矢量数据包处理(Vector Packet Processing,VPP)技术的开源版本:一种高性能的数据包处理堆栈,可以商用 CPU 上运行。...intel DPDK的 oerrors imissed。...VPPDPDK以插件的方式集成,dpdk插件完成对dpdk的初始化操作,那么我们继续分析DPDK 代码:以DPDK 19.11.14 LTS 版本为例 dpdk,通过 rte_eth_stats_get...DPDK 数据包处理流程 物理网卡监听物理链路上的信息号,解析得到数据包,并将其存放在物理网卡上的RX FIFO; 物理网卡上的DMA将数据包写入到内存的rte_rx_queue; 应用程序通过PMD...虚拟机不支持查询 实际物理机查询情况 其次:分析程序处理代码瓶颈处,优化算法实现 该部分具体问题具体分析!

3.3K10

linux内核发包工具,Linux内核发包工具pktgen测试方案说明「建议收藏」

简介 pktgen是Linux内核里包含的一个高性能发包工具,主要用来测试网络性能。一般情况下,使用pktgen就可以满足千兆网卡的测试需要。.../pgctrl echo “Running… ctrl^C to stop” pgset “start” echo “Done” 运行的时候将$2设置为time,可以/proc/net/pktgen/...pgrx查看相关的jitterlantency,如下 测试截图: 运行pktgen脚本截图 测试过程数据流截图 对比eth6发包与eth7收包截图 从红框可以看出收发包是一样的,而吞吐量大概达到了...而从我测试来看,应该可以得到一个结论:CPU越好,每秒钟能发出的包数目越多,越有可能达到线速,我的测试环境下,发包大概能达到4Mpps。...注意:如果首先运行pktgen_eth6_eth7.sh后,再去运行pktgen.sh的话,原本应该是只有eth6发包,但是结果是eth6eth7都会发包。

7.9K10

Linux 经典的几款收包引擎

这四个分别是: libpcap/libpcap-mmap PF_RING DPDK xdp libpcap libpcap的包捕获机制是在数据链路层增加一个旁路处理,不干扰系统自身的网路协议栈的处理,...其缺点是,只有一个 应用可以某个时间打开DMA ring(请注意,现在的网卡可以具有多个RX / TX队列,从而就可以每个队列上同时一个应用程序),换而言之,用户态的多个应用需要彼此沟通才能分发数据包...DPDK pf-ring zcdpdk均可以实现数据包的零拷贝,两者均旁路了内核,但是实现原理略有不同。pf-ring zc通过zc驱动(也应用层)接管数据包dpdk基于UIO实现。...TLB是一个内存管理单元,一般存储寄存器,里面存储了当前最可能被访问到的一小部分页表项。...cpu affinity:即 CPU 亲和性 XDP xdp代表eXpress数据路径,使用ebpf 做包过滤,相对于dpdk数据包直接送到用户态,用用户态当做快速数据处理平面,xdp是驱动层创建了一个数据快速平面

1.6K41

PF_RING ZC | 高速流量处理DPDK替代方案

当您启用巨型帧时,NIC 将返回 2K 长的 RX 数据包(因此,如果您有一个入口 5k 数据包,您将收到部分 2 x 2K 缓冲区剩余的 1k 缓冲区),如果您想发送一个数据包,则大小为 9K(因此您需要发送...PF_RING ZC 相反, PF_RING ZC ,库根据 MTU 分配内存缓冲区,无论您使用什么网卡,库都将始终返回完整的数据包(即缓冲区的所有这些数据包分段不会暴露给将始终使用的用户,开发人员唯一要做的就是确保他的应用程序可以处理巨型数据包...Zeek还支持安全领域以外的各种流量分析任务,包括性能评估故障排除。使用PF_RING ZC(zero copy)驱动程序可实现极高的数据包捕获/传输速度,极大提升Zeek的流量处理能力。...使用PF_RING ZC让你您现在可以 IDS IPS 模式下高速使用 Suricata。...使用PF_RING™ ZC (Snort 数据采集)库比标准的PF_RING™速度提高 20% 到 50% ,它可以 IPS IDS 模式下运行

2.2K41

如何统一数据包的时间戳

接下来,我们一起探讨数据包捕获分析的重要一步——统一数据包的时间戳。...很多时候存在这样的情况:两个业务系统之间进行访问,以TCP为例,经过几层封装,通过进程寻址网络路由到达对方,这期间数据包在网络传输是没有时间标记的。 ?...天旦NPM网络性能管理系统就做到了根据存储策略设备存储空间而定来提取原始数据包,支持私有云/传统环境下全量、高性能地采集,并能及时地为数据包标记时间戳。...如今,大多数公司的应用设备都对合规性、入侵检测网络攻击预防提出了更高要求。开始捕获数据包时,需要捕获数据包的确切时间,时间戳精度要求纳秒级。...天旦NPM采用了DPDK数据包捕获方式,时间戳的精度就在纳秒级以上,为网络安全预警提供了更多可能性。

2.8K20

云计算与虚拟化硬核技术内幕 (18) —— 《凉州词》的故事

上期我们说到,秦少游因为发送的数据包乱序,杨笠的蛊惑下,被苏小妹删了微信…… 因此,秦少游宿主机上引入了DPDK的同时,还增加了一块可编程的SmartNic。...我们《局域网SDN技术硬核内幕 9 从软件Overlay到硬件Overlay》中讲到过,云数据中心网络,将不同VPC(Virtual Private Cloud)的数据包封装到不同的隧道实例中进行区分...以基于Broadcom Trident-3 交换芯片开发的交换机为例,如整网有10万个以上的容器虚拟机开启IPv6时,会导致交换机FIB表不够用。 物理交换机对隧道的封装方式是相对固化的。...引入OVS-DPDK后,宿主机上的一部分CPU核会被专门用于运行OVS-DPDK。如期望达到50Gbps的吞吐量时,整机至少需要消耗16个HT,也就是8个物理核。...实际上,随着容器/微服务逐渐代替虚拟机成为数据中心中运行业务的主力,这种用于网络通信的算力开销,在数据中心中的比例也会越来越大。这被称为“Datacenter Tax”。

1.3K30

【重识云原生】第四章云网络4.7.3节——Vhost-net方案

vhost-net/virtio-net体系,vhost-net是host kernel space运行的backend,virtio-net是guest kernel space运行的frontend...virtio的架构,有前后端驱动之分,所谓的前端驱动即是虚拟机的virtio-net网卡驱动,而后端驱动的实现则多种多样,后端驱动的演化往往也标志着virtio网络的演化。        ...一个Virtqueue由一个Available RingUsed Ring组成,前者用于前端向后端发送数据,而后者反之。而在virtio网络的TX/RX Queue均由一个Virtqueue实现。...vhost-net,当数据包进入tap文件描述符时,工作线程被唤醒,并将其放置到rx virtqueue,以便客户端可以接收它们。...参考链接 DPDK系列之十二:基于virtio、vhostOVS-DPDK的容器数据通道_cloudvtech的博客-CSDN博客_dpdk容器化 DPDK系列之六:qemu-kvm网络后端的加速技术

2.1K20
领券