搜索

第 5 章 NFV 性能注意事项

download PDF

要使网络功能虚拟化(SVVP)解决方案非常有用,其虚拟化功能必须满足或超过物理实施的性能。红帽的虚拟化技术基于高性能内核的虚拟机(KVM)管理程序,在 OpenStack 和云部署中通用的。

5.1. CPU 和 NUMA 节点

在以前的版本中,系统中所有 CPU 都可以访问 x86 系统上的所有内存。这会导致内存访问时间相同,无论系统中的哪个 CPU 执行操作,并被称为 Uniform Memory Access (UMA)。

在非统一内存访问(NUMA)中,系统内存被分成称为 node 的区域,这些区域被分配给特定的 CPU 或插槽。访问 CPU 本地的内存比连接到那个系统上的远程 CPU 的内存要快。通常,NUMA 系统上的每个套接字都有一个本地内存节点,其内容可以比本地节点本地到另一个 CPU 或所有 CPU 共享总线中的内存更快访问。

同样,物理 NIC 放置在 Compute 节点硬件的 PCI 插槽中。这些插槽连接到与特定 NUMA 节点关联的特定 CPU 套接字。为获得最佳性能,请将数据路径 NIC 连接到 CPU 配置(SR-IOV 或 OVS-DPDK)中的相同 NUMA 节点。

NUMA 丢失的性能影响非常显著,通常从 10% 性能命中或更高级别开始。每个 CPU 套接字可以有多个 CPU 内核,它们被视为用于虚拟化目的的独立 CPU。

提示

有关 NUMA 的更多信息,请参阅 NUMA 是什么以及如何在 Linux 上工作?

5.1.1. NUMA 节点示例

下图显示了双节点 NUMA 系统的示例,以及 CPU 内核和内存页可用方式:

OpenStack NUMA Topology 39825 0416 ADF
注意

只有在来自 NUMA 节点 0 中的 VM1 中存在一个 NUMA 节点 1 中的 CPU 内核时,才可通过 Interconnect 访问远程内存。在这种情况下,NUMA 节点 1 的内存充当 VM1 第三个 CPU 内核的本地(例如,如果在上图中使用 CPU 4 分配了 VM1),但它充当同一虚拟机其他 CPU 内核的远程内存。

5.1.2. NUMA 感知实例

您可以将 OpenStack 环境配置为在具有 NUMA 架构的系统上使用 NUMA 拓扑感知。在虚拟机中运行客户机操作系统时,涉及两个 NUMA 拓扑:

  • 主机物理硬件的 NUMA 拓扑
  • 公开给客户端操作系统的虚拟硬件的 NUMA 拓扑

您可以通过将虚拟硬件与物理硬件 NUMA 拓扑保持一致来优化客户端操作系统的性能。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.