你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure VM 上的 Oracle 的性能最佳做法

本文介绍选择的正确 VM 大小和存储选项如何影响 Oracle 工作负载性能(输入/输出操作 [IOPS] 和吞吐量)可依赖性和成本。 需要在针对成本优化和针对性能优化之间进行权衡。 这一系列性能最佳做法侧重于实现 Azure 虚拟机 (VM) 上的 Oracle 工作负载的最佳性能。 如果工作负载要求较低,可能不需要每项建议的优化。 在规划阶段,有必要评估 Oracle 工作负载的性能要求并根据需要适当调整计算和存储大小。

当考虑在 Azure VM 上运行 Oracle 工作负载时,为了实现经济高效的配置,请首先选择支持具有适当内存与 vCore 比率的必要 IOPS 和吞吐量的虚拟机,然后添加存储要求。

VM 大小调整建议

建议使用下面三个 VM 系列在 Azure 上运行 Oracle 数据库工作负载。

E 系列(Eds、v5 和 Ebds V5)

E 系列专为内存密集型工作负载而设计。 这些 VM 提供较高的内存与核心比率,使其适用于 Oracle 数据库。 还提供一系列 CPU 选项,以满足 Oracle 数据库工作负载的性能要求。

新的 Ebdsv5 系列在 Azure 中使 I/O 吞吐量与 vCore 的比率达到最高,内存与 vCore 的比率达到 8。 此系列为 Azure VM 上的 Oracle 工作负载提供最佳性能。 对于大多数 Oracle 数据库工作负载,请首先考虑此系列。

M 系列

M 系列是为大型数据库构建的,这些数据库具有高达 12 TB 的 RAM 和 416 个 vCPU。 M 系列 VM 提供 Azure 中最高的内存与 vCore 比率。 对于大型和大型任务关键型 Oracle 数据库工作负载,或者如果需要将数据库合并到更少的 VM 中,请考虑这些 VM。

D 系列

D 系列是为常规用途 VM 构建的,与常规用途虚拟机相比,这些 VM 的内存与 vCore 比率更小。 请务必仔细监视基于内存的性能计数器,确保 Oracle 工作负载能够获取 IOPS 和吞吐量。 Ddsv5 系列的 vCPU、内存和临时磁盘数量相当,但支持的内存与 vCore 比率较小。 D 系列的内存与 vCore 比率不是针对 Oracle 工作负载推荐的 8。 因此,请考虑将这些虚拟机用于中小型数据库,或者用于开发/测试环境以降低总拥有成本 (TCO)。

有关存储的建议

本部分提供存储最佳做法和准则,以优化 Azure 虚拟机 (VM) 上的 Oracle 工作负载的性能。 评估这些建议时应考虑性能需求、成本和工作负荷模式。 快速了解一下选项:

  • 磁盘类型高级 SSD高级 SSD V2超级磁盘是 Oracle 工作负载的推荐磁盘类型。 请参阅磁盘类型比较来了解最大磁盘大小、最大吞吐量和最大 IOPS,以便为 Azure VM 选择合适的磁盘类型来满足 Oracle 工作负载性能。 通常,高级 SSD v2 是可以考虑的性价比最高的磁盘选项。

  • 高级 SSD V2 提供比高级 SSD 更高的性能,但通常成本还更低。 可以随时单独调整高级 SSD v2 磁盘的性能(容量、吞吐量和 IOPS),使工作负载经济高效,同时满足不断变化的性能需求。 例如,事务密集型数据库需要大量小型 IOPS,或者游戏应用程序可能只在高峰时段需要大量 IOPS。 你可以单独调整性能,因此对于大多数常规用途工作负载,高级 SSD v2 可以提供最佳性能。

  • 高级 SSD 适用于任务关键型生产工作负载。 它们为运行输入/输出 (IO) 密集型工作负载的虚拟机 (VM) 提供高性能、低延迟的磁盘支持。

  • 超级磁盘是 Azure 虚拟机 (VM) 性能最高的存储选择。 它们适用于数据密集型和事务密集型工作负载。 它们提供低亚毫秒级的延迟,还提供一个灵活的性能配置模型,用于在预配磁盘之前和之后独立配置 IOPS 和吞吐量。

Azure 弹性 SAN 提供一个可大规模缩放、经济高效、高性能且可靠的块存储解决方案,通过 iSCSI 协议连接到各种 Azure 计算服务。 弹性 SAN 可实现从现有 SAN 存储资产无缝过渡到云,而无需重构客户应用程序体系结构。 此解决方案可以实现大规模缩放 – 高达数百万 IOPS、两位数 GB/秒的吞吐量,以及内置复原能力的低单位数毫秒延迟,从而最大程度地减少停机时间。 因此,它非常适合希望合并存储的客户以及使用多个计算服务的客户,或者那些需要通过网络带宽驱动存储来实现高吞吐量级别的工作负载的客户。 

注意

使用弹性 SAN 的 VM 大小调整应满足生产(VM 到 VM)网络吞吐量要求与存储吞吐量要求。

请考虑将 Oracle 工作负载放在 Elastic SAN 上以提高成本效益,原因如下。

  • 存储整合和动态性能共享:通常,对于 Azure VM 上的 Oracle 工作负载,根据客户对该 VM 的容量和峰值性能要求,为每个 VM 预配磁盘类型存储。 这种预配过度的性能在需要时可用,但无法与其他 VM 上的工作负载共享未使用的性能。 弹性 SAN(如本地 SAN)允许合并多个 Oracle 工作负载的存储需求,以实现更好的成本效益,并且能够根据 IO 需求动态跨预配到这些不同的工作负载共享预配的性能。 例如,在美国东部,如果你有 10 个工作负载,每个工作负载需要 2 TiB 容量和 10,000 IOPS,但在任何时间点,总数都不超过 60,000 IOPS。 你可以使用 12 个基础单位配置一个弹性 SAN(一个基础单位 = 0.08 美元/每 GiB/每月),这会提供 12 TiB 容量和所需的 60,000 IOPS,你还可使用 8 个仅容量单位(1 个仅容量单位 = 0.06 美元/GiB/月),这将以更便宜的价格提供剩余的 8 TiB 容量。 此最佳存储配置可提供更优秀的成本效益,同时能为每个工作负载提供所需性能 (10K IOPS)。 若要详细了解弹性 SAN 基础预配单位和仅容量预配单位,请参阅规划 Azure 弹性 SAN。有关定价,请参阅 Azure 弹性 SAN - 定价

  • 驱动更高的存储吞吐量:由于 VM 的磁盘吞吐量限制,Azure VM 部署上的 Oracle 工作负载偶尔需要过度预配该 VM。 可以使用弹性 SAN 来避免这种情况,因为可以通过 iSCSI 协议利用计算网络带宽提高存储吞吐量。 例如,Standard_E32bds_v5 (SCSI) VM 的上限为 88,000 IOPS 和 2,500 MBps 的磁盘/存储吞吐量,但最多可以实现 16,000 MBps 网络吞吐量。 如果工作负载的存储吞吐量要求大于 2,500 MBps,则无需将 VM 升级为更高的 SKU,因为它现在可以通过使用弹性 SAN 支持高达 16,000 MBps 的存储吞吐量。

此外,下面是一些输入,可帮助你从弹性 SAN 中获得更多价值。

其他参数 description
预配模型 TiB 粒度的灵活模型
BCDR 用于快速还原的增量快照;用于强化的快照导出。
冗余和缩放目标 有关冗余要求,请参阅 Azure 弹性 SAN 的冗余功能
加密 支持静态加密。

Azure NetApp 文件是 Azure 本机第一方企业级高性能文件存储服务,适用于存储 Oracle 数据库文件。 它提供卷即服务,你可以为其创建 NetApp 帐户、容量池和卷。 还可以选择服务和性能级别并管理数据保护。 通过使用你了解和信任的相同协议和工具,以及依赖于本地的企业应用程序,你可以构建和维护快速、可靠且可缩放的文件共享。

下面是 Azure NetApp 文件的关键属性:

  • 性能、成本优化和缩放。
  • 简单性和可用性。
  • 数据管理和安全。
  • SLA 99.99%

Azure NetApp 文件卷在设计上具有高可用性,并提供在容量和性能中纵向扩展和缩减卷的灵活性,而不会造成服务中断。 对于跨区域和地区卷的其他可用性,可以使用跨可用性区域复制跨地区复制来复制卷。

为了托管要求高的 Oracle 数据库文件、重做和存档日志,而这些文件和日志可扩展到每秒数 GB 的吞吐量和数十 TB 容量,那么你可以根据容量和性能要求,使用单个多个卷。 可以使用快照保护卷,以便快速实现主数据保护和可恢复性。 可以使用 RMAN、AzAcSnapAzure NetApp 文件备份或其他首选备份方法或应用程序备份卷。

强烈建议将 Oracle Direct NFS (dNFS) 与 Azure NetApp 文件配合使用以提高性能。 Oracle dNFS 与 Azure NetApp 文件的结合为工作负荷提供了极大的优势。 借助 Oracle dNFS,可实现比操作系统的内核 NFS 更高的性能。 本文解释了该技术,并对 dNFS 和内核 NFS 客户端之间的性能进行了比较。

与直接连接的存储(例如 SSD),Azure VM 在更高速度上因网络流量受限制。 因此,Oracle 部署使用同一 VM SKU 上的 Azure NetApp 文件卷时性能更好,你也可选择更小的 VM SKU 来获得相同的性能并节省 Oracle 许可证成本。

可以克隆快照,以提供对当前数据的读/写访问权限来进行测试和开发,而无需与实时数据交互。

说明
其他参数 提供三个性能服务级别(超级、高级、标准),可动态无中断地纵向扩展和缩放性能和容量,以平衡不断变化的需求和成本。
预配模型 单个卷用于中大型数据库,多个卷用于大型和高吞吐量。 通过 Azure 门户进行预配,并采用联机动态上下大小。 通过动态服务级别更改和 QoS 调整实现动态联机性能缩放。
BDR 基于快照的独立数据访问以实现 BC/DR 和测试/开发目的。 使用 Azure NetApp 文件备份进行快照保管;基于存储的跨地区复制;基于存储的跨可用性区域复制;与 Oracle data Guard 集成,实现高可用性和灾难恢复。
冗余和缩放目标 展示有能力支持大小超过 100 TiB、每秒吞吐量达数 GB 的最大、性能最高的 Oracle 数据库,同时保持近乎即时的基于快照的主数据保护和可恢复性。
加密 使用平台或客户管理的密钥进行静态单一或双重加密

自动选择 VM 和存储

请考虑使用名为 Oracle 迁移助手工具 (OMAT) 的社区工具来获取适当的 VM SKU,提供建议的存储选项(包括磁盘类型、弹性 SAN 和 ANF),并根据价目表提供指示性成本。 可以提供 Oracle 数据库的 AWR 报表作为输入,并运行 OMT 工具脚本以获取与数据库的性能要求相符的推荐 VM SKU 和存储选项的输出。

后续步骤