1. 课程导入与工程全景

在数据中心网络与算力卸载的工程实践中,Marvell DPU(Data Processing Unit)已经不再是"网卡加几个加速引擎"的简单叠加,而是一台可编程的、以网络为入口的独立计算节点。它把网络数据面、存储虚拟化、安全策略、可编程流水线以及通用 Arm 核整合在同一颗芯片上,通过 PCIe 呈现给主机,通过以太网口连接交换网络。理解这一点,是后续所有性能基准与容量评估工作的前提:我们评估的不是一块网卡,而是一台"藏在服务器里的服务器"。

本课程围绕 Marvell OCTEON 系列 DPU 展开。该系列以 OCTEON 10 DPU 为代表,内部集成了 Arm Neoverse N2 通用核、可编程的 packet processing 引擎、加密与压缩加速单元、DMA 引擎以及高速以太网 MAC/PCS。不同 SKU 在核数、主频、PCIe 通道数、以太网速率(100G/200G/400G)和内存带宽上存在明显差异,因此"性能基准"从来不是一个单一数字,而是一组与配置强绑定的指标集合。工程上我们通常把它拆成四类:网络吞吐与转发性能、主机侧卸载收益、加速引擎吞吐与延迟、以及资源占用与功耗。

本节的核心目标不是记住某个具体数值,而是建立一套"评估坐标系":知道要测什么、为什么测、测出来的数字受哪些变量影响、以及如何把测量结果转化为容量规划结论。

先看产品定位。Marvell DPU 在数据中心中的典型角色有三类。第一类是网络卸载:把 OVS、VXLAN/Geneve 封装解封装、连接跟踪、ACL 等从主机 CPU 迁移到 DPU,释放主机算力。第二类是存储与安全卸载:IPsec/TLS 加解密、压缩、NVMe-oF 目标端处理。第三类是基础设施服务承载:在 DPU 上直接运行控制面代理、遥测采集、负载均衡等轻量服务,实现"基础设施与业务解耦"。这三类角色对应的性能关注点完全不同,评估方法也必须区分。

接下来是评估目标。性能基准(benchmark)回答的是"在给定配置下,这台 DPU 能跑多快";容量评估(capacity assessment)回答的是"在给定业务模型下,一台 DPU 能承载多少实例、多少连接、多少带宽,需要几台"。前者是单点测量,后者是模型外推。二者共享同一套测量数据,但推导逻辑不同。工程上常见的错误是拿一个峰值吞吐数字直接做容量规划,忽略了包长分布、连接并发数、流表规模、加密比例等业务特征,导致上线后实际容量远低于预期。

为了把上述关系讲清楚,下图给出本节的核心工程全景:从产品定位出发,经过评估目标分解,落到交付物与评估流程的闭环。图中同时标出了四类关键指标与它们之间的依赖关系。

Marvell DPU 性能基准与容量评估 · 工程全景 ① 产品定位 • 网络卸载:OVS / VXLAN / CT / ACL • 存储与安全:IPsec / TLS / 压缩 • 基础设施服务承载 • PCIe 呈现 + 以太网接入 ② 评估目标 • 性能基准:单点能力测量 • 容量评估:业务模型外推 • 四类指标:吞吐/卸载/加速/资源 • 配置强绑定,非单一数字 ③ 交付物 • 基准测试报告(含配置快照) • 容量规划模型与建议 • 瓶颈分析与优化清单 • 可复现的测试脚本/用例 ④ 评估流程总览(闭环) 需求与场景 业务模型定义 环境搭建 DPU+主机+打流 基准测量 四类指标采集 数据分析 瓶颈定位 容量结论与交付 报告+模型+建议 迭代反馈:配置调整 / 场景修正 / 复测 四类关键指标(贯穿全流程) 网络吞吐与转发 pps / Gbps / 时延 / 丢包 主机侧卸载收益 CPU 占用下降 / 核数释放 加速引擎吞吐 IPsec/TLS/压缩 吞吐与延迟 资源占用与功耗 内存带宽 / 功耗 / 温度

上图中,产品定位决定了评估场景的边界,评估目标决定了指标选取,交付物决定了数据必须记录到什么粒度,而评估流程则把三者串成闭环。特别要注意那条虚线反馈回路:容量评估很少一次成功,通常需要根据瓶颈分析结果回头调整配置或修正业务模型,再复测。这条回路是工程评估与"跑个分"的本质区别。

下面把评估流程的五个阶段展开,说明每个阶段实际要做什么、产出什么。

阶段一:需求与场景定义。这是最容易被跳过、却最影响结论的一步。需要明确:业务是东西向还是南北向流量为主?平均包长是多少(64B 小包与 1500B 大包对 pps 的压力差一个数量级)?并发连接数与流表规模量级?是否启用加密、压缩、隧道封装?SLA 要求的时延上限和丢包率是多少?把这些写成一份场景描述,后续所有测量都围绕它设计。例如一个典型示例场景可以定义为:南北向 VXLAN 隧道流量,平均包长 512B,并发连接 50 万,启用 IPsec 传输模式,时延 P99 要求小于 200μs。

阶段二:环境搭建。需要一台带 DPU 的服务器(host)、一台或多台打流仪或对端服务器、以及正确的固件与驱动版本。关键记录项包括:DPU SKU 与固件版本、PCIe 链路速率与宽度、主机 CPU 型号与核数、内存配置、操作系统与内核版本、DPU 上运行的固件/软件镜像版本。这些信息构成"配置快照",没有它,任何测量数字都不可复现。打流侧要确认能产生目标包长分布和连接模型,否则测出来的只是打流仪的能力。

阶段三:基准测量。按四类指标分别采集。网络吞吐用 RFC 2544 或类似方法做阶梯加压,记录吞吐-时延曲线,找到拐点而非只看峰值;卸载收益通过对比"主机软件转发"与"DPU 卸载"两种模式下主机 CPU 占用率来量化;加速引擎用固定算法和密钥长度测吞吐与延迟;资源占用通过 DPU 侧遥测读取内存带宽、功耗、温度。每个测量点都要记录配置和负载条件。

阶段四:数据分析。把测量数据与场景需求对照,定位瓶颈。常见瓶颈包括:PCIe 带宽成为上限、单个 Arm 核处理能力饱和、流表查找成为热点、加密引擎吞吐不足、内存带宽受限。分析时要区分"DPU 能力上限"与"当前配置下的表现",前者是硬件天花板,后者才是可优化空间。

阶段五:容量结论与交付。基于分析结果给出容量模型:在目标业务模型下,单台 DPU 可承载的带宽、连接数、实例数,以及达到该容量时的资源余量建议(通常保留 20%~30% 余量应对突发)。交付物包括基准测试报告、容量规划模型、瓶颈与优化清单、可复现的测试脚本。

建议在项目开始时就建立一份"评估台账",字段包括:测试编号、场景描述、DPU 配置快照、测量指标、原始数据文件路径、结论摘要。这份台账在后续 29 章中会反复用到,是保证评估可追溯、可对比的基础。

最后强调一个贯穿全课程的判断原则:任何性能数字都必须附带它的配置与负载条件才有意义。"400G 吞吐"在 1500B 大包下可能轻松达到,在 64B 小包下可能只有几分之一;"100 万并发连接"在无状态转发下可行,在带连接跟踪和加密的场景下可能腰斩。本课程后续每一章都会围绕"在什么条件下、测什么、怎么测、怎么判断"展开,帮助你把 DPU 的性能从厂商规格书上的数字,转化为自己业务场景下可信的容量结论。