引言
Intel QuickAssist 是一种能够显著加速网络速度的技术。在这篇文章中,我们将深入探讨 Intel QuickAssist 对 IPsec VPN 性能的影响,并分享一些设置和基准测试的技巧。
QuickAssist 硬件与测试设置
在本次评测中,我们使用了之前文章中提到的相同 QAT 硬件。我们使用了基于 Intel 高端 Coleto Creek 8955 芯片组的两组卡片。我们的主要 QAT 加速器是 Netgate CPIC-8955。截止到本文撰写时,这款设备的零售价大约为 $800,但 Netgate 为我们的 QAT 测试借用了两张卡片。Netgate CPIC-8955 是市场上最高端的 “Coleto Creek” PCIe QAT 加速器,支持高达 50Gbps 的 QAT 吞吐量。该卡为全高度设计,带有主动冷却系统。Netgate 还为我们提供了技术支持,使我们能够快速启动 QAT 测试。
Netgate CPIC 8955
其次,我们还使用了 Intel 发送的 QuickAssist Adapter 8950 卡片。我们已经使用这些卡片一段时间,并将在我们即将发布的文章中进行更深入的测试。这些卡片同样基于 Intel Coleto Creek 8955 芯片组,属于半高度卡片,需要良好的机箱散热以确保大型散热器的气流。
测试环境
我们首次测试的环境是 Dell PowerEdge R930,配置了 180 Gbps 的网络和多个 QuickAssist 加速器。由于高端 QAT 卡片的双 10GbE 网络带宽不足,我们需要至少 40GbE 的配置。我们决定采用一种更接近“真实世界”的设置,而非双节点配置。
在网络布局方面,我们使用了 STH/DemoEval 实验室,设置了一个更接近真实环境的系统,尽管我们在测试中使用了 40GbE 交换机代替实际的 WAN 连接。我们遵循了 Cavium 团队在测试其产品时所提供的反馈,确保每个网络段有不同的交换机。每个 40GbE 网络段都配备了自己的 40GbE 适配器,以避免 PCIe 带宽问题。
QuickAssist IPsec VPN 测试结果
测试设置
我们使用双 Intel Xeon E5-2698 V4 机器作为负载生成服务器,配置了 256GB RAM,目标服务器则使用了 quad Intel Xeon E7-8870 V3 系统,配备 512GB RAM。QAT VPN 节点为单 Xeon E5-2650 V3 机器,每台配备 128GB RAM 和两张 XL710-QDA2 双 40GbE 卡。我们选择单 CPU 节点以避免 NUMA 问题。
在测试中,我们决定专注于验证 Intel 所声称的在两个核心上实现 40Gbps 的性能。为了确保 QAT 引擎正常工作,我们选择了支持的加密算法 aes128-sha1-modp1024! 作为我们的 IKE/ESP 配置。
测试结果
通过 Iperf3 测试,我们成功地验证了 Intel 的数据,尽管我们在某些测试中略低于 Intel 实验室的结果。考虑到我们通过三台交换机、两个专用 VPN 节点和三台测试机器进行测试,我们认为结果在合理的误差范围内。如果您正在寻找更高速度的 IPsec VPN,QAT 绝对是值得考虑的选项。
QuickAssist 资源
以下是一些帮助 STH 团队设置基准测试的资源:
在这些资源中,Netgate 的支持最为重要,他们的 QuickAssist 技术专家帮助我们快速启动测试。
结论
在高端系统中,由于硬件和软件成本,核心资源的开销非常高,QAT 技术可以带来显著的优势。如果您正在构建基于 Intel 的 IPsec VPN 设备,我们强烈建议您考虑使用 QAT 加速器。这些加速器可以释放 CPU 资源用于其他网络任务,或者允许您在设备中配置更低功耗的 CPU。我们预计在未来的 VPN 设备中将会看到更多基于 QAT 的解决方案。
如果您在使用 QAT 技术时遇到困难,请寻求专业帮助,这将节省您大量时间。随着我们迈入 2017 年,我们期待看到更多基于 QAT 和 DPDK 的解决方案出现。