清单:优化 Hyper-V 的性能

以下注意事项适用于在 Hyper-V 虚拟机上运行含有 BizTalk Server 数据库的 BizTalk Server 和/或 SQL Server 实例时。

将 110%–125% CPU 和磁盘资源分配给 Hyper-V 虚拟机

计划将 110% 到 125% 的 CPU 资源,以及 105% 到 110% 的磁盘资源,分配给物理硬件解决方案所需的 Hyper-V 台虚拟机。 通过为 Hyper-V 虚拟机配置更多资源,可以确保其性能与物理硬件相当,同时能够满足 Hyper-V 虚拟化技术所需的任何额外开销。

步骤 参考文献
评估 BizTalk Server 解决方案的硬件要求。 - 若要确定解决方案的硬件需求,请按照 BizTalk Server 操作指南中的“规划 BizTalk Server 环境”部分的指导进行操作。

- 若要确定解决方案将需要的 BizTalk 服务器的版本和数量的范围,请查看 规划 BizTalk Server 层中记录的 BizTalk Server 规划注意事项。

- 若要限定解决方案所需的 SQL Server 计算机的版本号和数量,请查看以下文档中的数据库规划注意事项:
--- “规划数据库层”
--- “在 Hyper-V 环境最佳做法和性能注意事项中运行 SQL Server 2008”部分中的“在 Hyper-V 中运行 SQL Server 的性能开销”部分。

- 若要完成开发、测试、过渡和生产环境的规划,请查看“规划开发、测试、过渡和生产环境”。
确定 BizTalk Server 解决方案的硬件要求后,请计划尽可能将 Hyper-V 计算机配置为具有 110% 至 125% 的 CPU 和磁盘资源。 例如,如果解决方案使用的物理 BizTalk Server 计算机的硬件要求确定为 2GB RAM、在 2GHZ 上运行的双核 CPU 和 2x 500 GB 物理磁盘,则理想情况下,解决方案使用的 Hyper-V 虚拟机将配置为运行 >2.2 GHZ 的 2 个或多个虚拟处理器, 和更快的物理磁盘(通常通过添加轴或使用更快的磁盘)。

优化 Hyper-V 性能

使用以下一般准则来配置 Hyper-V 以获得最佳性能。

步骤 参考文献
应用建议的指南来对虚拟化服务器进行性能优化。

注意:对于 测试 BizTalk Server 虚拟化性能中介绍的测试方案,应用的配置选项在“物理基础结构详细信息”和本文中的“虚拟化细节”部分“ 测试方案概述”中进行了介绍。
“针对虚拟化服务器的性能优化”一文中的 “Windows Server 2008 R2 性能优化准则”部分。
关闭未使用的任何虚拟机连接窗口。 在 Hyper-V 管理器中,双击虚拟机名称时,将显示“虚拟机连接”窗口。 这些窗口会占用本来可以用作其他用途的资源。
关闭或最小化 Hyper-V 管理器。 Hyper-V 管理器通过持续轮询每个正在运行的虚拟机来检查 CPU 利用率和运行时间,从而消耗资源。 关闭或最小化 Hyper-V 管理器将释放这些资源。

优化 Hyper-V 环境中的磁盘、内存、网络和处理器的性能

使用以下准则优化 Hyper-V 虚拟环境中的磁盘、内存、网络和处理器的性能。

优化处理器性能

遵循以下准则优化在 Hyper-V 虚拟环境中运行的来宾作系统的处理器性能:

  • 将虚拟处理器一对一分配至可用的逻辑处理器,以实现最佳性能 运行 CPU 密集型应用程序时,最佳配置是将来宾操作系统中的虚拟处理器与主机操作系统可用的逻辑处理器设为一对一的比例。 任何其他配置(如 2:1 或 1:2)的效率较低。 下图演示了在来宾操作系统(一个或多个)中虚拟处理器核心与主机操作系统中可用的逻辑处理器之间的 1 对 1 分配:

    一对一物理处理器与虚拟处理器比率 虚拟与逻辑处理器比率

  • 请注意不同来宾作系统的虚拟处理器限制并相应地进行计划 - Hyper-V 虚拟机中运行的来宾作系统可用的处理器核心数可能会影响托管应用程序的整体性能。 因此,应考虑将哪些来宾操作系统安装在 Hyper-V 虚拟机上,以托管 BizTalk Server 和/或用于托管 BizTalk Server 数据库的 SQL Server 实例。 Hyper-V 支持以下虚拟处理器数量的指定客户操作系统:

操作系统 虚拟处理器限制
Windows Server 2008 R2。 Windows Server 2008 R2 的所有版本仅 64 位。 4
Windows Server 2008 SP2 64 位 4
Windows Server 2008 SP2 32 位 4
Windows 7 64 位 4
Windows 7 32 位 4
Windows Vista 64 位 2
Windows Vista 32 位 2

注释

有关 Hyper-V 上支持的来宾操作系统的更多信息,请参阅支持的 Windows 来宾和 Windows Server 上 Hyper-V 支持的 Windows 来宾操作系统

优化磁盘性能

请按照以下准则优化在 Hyper-V 虚拟环境中运行的来宾操作系统的磁盘性能:

步骤 参考文献
使用固定大小的虚拟硬盘(VHD)选项将虚拟磁盘配置为与 Hyper-V 虚拟机一起使用。 固定大小的 VHD 提供接近物理磁盘的性能,以及群集支持和快照磁盘支持等功能的灵活性。 Hyper-V 环境中的磁盘存储可通过虚拟 IDE 控制器或虚拟 SCSI 控制器进行访问。 与以前版本的Microsoft虚拟化技术不同,在访问虚拟硬盘时,使用虚拟 IDE 控制器或虚拟 SCSI 控制器之间没有性能差异。 以下磁盘存储选项可用于 Hyper-V 环境中:

- 固定大小磁盘 - 固定大小的虚拟硬盘(VHD)是基于创建时定义的最大磁盘大小在物理磁盘上预先分配的数据块。 例如,如果您创建一个固定大小为 100 GB 的 VHD,当新 VHD 被创建时,Hyper-V 会分配所有 100 GB 的数据块存储,并包括 VHD 标头和页脚所需的额外开销。
- 动态扩展磁盘 - 动态扩展的 VHD 是一种初始时不包含任何数据块的虚拟硬盘。 空间不是预先分配的,而是随着数据写入 VHD 动态分配,直到创建 VHD 时指定的最大大小。 例如,100 GB 动态扩展磁盘最初仅包含 VHD 标头,并且需要小于 2 MB 的物理存储空间。 由于虚拟机将新数据写入动态扩展的 VHD,因此以 2 MB 为增量向 VHD 文件分配额外的物理数据块,最大为 100 GB。
- 差异磁盘 - 差异磁盘是一种与“父”VHD 关联的动态扩展 VHD 文件的特殊类型。 在此父/子存储拓扑中,父磁盘保持不变,任何写入操作仅针对“子”差异磁盘执行。 首先会检查差异磁盘上的任何读取操作,以确定是否已将更新内容写入差异磁盘;如果内容不在差异磁盘中,则从父 VHD 中读取内容。 对于需要维护特定基线配置并希望轻松地测试和回滚更改的场景,差异化磁盘非常有用。 虽然通过差异磁盘提供的父/子存储拓扑的灵活性对于测试很有用,但这不是性能的最佳配置,因为存在与在使用差异磁盘时维护父/子拓扑相关的开销。
- 直通磁盘 - 直通磁盘功能允许来宾作系统绕过 Hyper-V 主机文件系统并直接访问磁盘。 通过直通提供给来宾操作系统的磁盘,必须在 Hyper-V 主机上设置为“脱机”,以确保主机和来宾操作系统不会同时尝试访问该盘。 直通磁盘与其他磁盘存储选项具有边缘性能优势,但不支持虚拟磁盘的某些功能,例如虚拟机快照和群集支持。 因此,不建议在 BizTalk 或 SQL Server 环境中使用直通磁盘功能,因为缺少的功能可以抵消边缘性能优势。

有关 Hyper-V 提供的磁盘存储选择的相对性能的详细信息,请参阅Hyper-V 存储分析的博客文章。
使用 SCSI 控制器为数据卷配置磁盘 这是建议的,因为只有在安装了 Hyper-V 集成服务时,才能安装 SCSI 控制器,而模拟的 IDE 控制器在没有安装 Hyper-V 集成服务的情况下可用。 使用集成服务提供的 IDE 筛选器驱动程序执行的磁盘 I/O 明显优于模拟 IDE 控制器提供的磁盘 I/O 性能。 因此,为了确保 Hyper-V 虚拟化环境中的数据文件的最佳磁盘 I/O 性能,请在主机和来宾作系统上安装集成服务,并使用综合 SCSI 控制器为数据卷配置磁盘。 对于跨多个数据驱动器的高度密集型存储 I/O 工作负荷,应将每个 VHD 附加到单独的综合 SCSI 控制器,以提高整体性能。 此外,每个 VHD 都应存储在单独的物理磁盘上。 重要: 不要将系统磁盘附加到 SCSI 控制器。 包含操作系统的虚拟硬盘必须附加到 IDE 控制器。

优化内存性能

遵循以下准则优化 Hyper-V 虚拟环境中运行的客户操作系统的内存性能。

步骤 参考文献
确保托管 Hyper-V 虚拟机的物理计算机上已安装足够的内存 - 可用物理内存通常是在 Hyper-V 虚拟机上运行的 BizTalk Server 最重要的性能因素。 这是因为每个虚拟机必须驻留在非分页池内存中,也就是无法分页到磁盘的内存。 由于无法将非分页池内存分页到磁盘,因此托管虚拟机的物理计算机应具有与为每个虚拟机分配的内存总和加上以下内容所需的物理内存。
虚拟机监控程序需要 300 MB,加上每个虚拟机的第一 GB RAM 需要32 MB,再加上每个虚拟机的每增加的 1 GB RAM 需要 8 MB,以及根分区上运行的主机操作系统需要 512 MB。
例如,如果 Hyper-V 虚拟机在 Hyper-V 管理器中分配了 2 GB 内存,则运行该 Hyper-V 虚拟机时使用的实际物理内存大约为 2388MB(虚拟机虚拟机分配的虚拟机监控程序 +2GB 的 300MB + 32MB + 8MB = 2388MB)。 由于虚拟机监控程序只需加载一次,因此后续虚拟机的初始化不会产生与加载虚拟机监控程序相关的 300 MB 开销。 因此,如果在 Hyper-V 管理器中为每个 Hyper-V 虚拟机分配 2 GB 内存,那么运行这些 Hyper-V 虚拟机时使用的实际物理内存大约为 4476MB(虚拟机监控程序300MB + 虚拟机分配的4GB + 64MB + 16MB = 4476MB)。 注意: 作为一般经验法则,计划为根分区至少分配 512 MB 内存,以提供 I/O 虚拟化、快照文件支持和子分区管理等服务。
- 尽可能使用 64 位来宾操作系统 - 请考虑为每个来宾操作系统选择 64 位操作系统。 这应该完成,因为默认情况下,32 位 Windows作系统每个进程只能处理最多 2GB 的虚拟地址空间。 安装 64 位作系统可让应用程序充分利用托管 Hyper-V 虚拟机的物理计算机上安装的内存。

优化网络性能

Hyper-V 支持虚拟机中的合成和模拟网络适配器,但合成设备提供显著更好的性能,并且大大降低了 CPU 开销。 其中每个适配器都连接到虚拟网络交换机,如果需要外部网络连接,该交换机可以连接到物理网络适配器。 按照本部分中的建议以优化在 Hyper-V 虚拟环境中运行的来宾操作系统的网络性能。

注释

这些建议来自可供下载的 Windows Server 2008 R2 性能优化指南 的“虚拟化服务器性能优化”部分。 有关如何优化根分区中的网络适配器,包括中断审查,请参阅本指南的“网络子系统性能优化”部分。 应根据需要将该部分中的 TCP 优化应用到子分区。

步骤 参考文献
配置在同一台 Hyper-V 主计算机上运行的 Hyper-V 虚拟机以使用专用虚拟网络 请参阅网络优化中的“配置在同一 Hyper-V 主机上运行的 Hyper-V 虚拟机以使用专用虚拟网络”部分的建议。
禁用虚拟机网卡的 TCP 卸载 请按照网络优化中的“禁用虚拟机网卡的 TCP 卸载”部分的建议进行操作。
将来宾操作系统配置为使用 Hyper-V 综合网络适配器。 Hyper-V 具有专为 VM 设计的合成网络适配器,与模拟现有硬件的模拟网络适配器相比,它可以显著减少网络 I/O 上的 CPU 开销。 合成网络适配器通过在 VMBus 上使用共享内存,在子分区和根分区之间进行通信,以便更高效地传输数据。
应通过 VM 设置对话框删除模拟网络适配器,并将其替换为合成网络适配器。 来宾要求安装 VM 集成服务。
如果可用,请为根分区中的物理网络适配器驱动程序启用卸载功能。 与本机方案一样,物理网络适配器中的卸载功能减少了 VM 方案中网络 I/O 的 CPU 使用率。 Hyper-V 当前使用 LSOv1 和 TCPv4 校验和卸载。 必须在驱动程序中为根分区中的物理网络适配器启用卸载功能。 有关网络适配器中卸载功能的详细信息,请参阅可下载的 Windows Server 2008 R2 白皮书中“虚拟化服务器性能调优”部分的“选择网络适配器”部分。
某些网络适配器的驱动程序禁用 LSOv1,但默认启用 LSOv2。 系统管理员必须使用设备管理器中的“驱动程序 属性 ”对话框显式启用 LSOv1。
配置网络交换机拓扑以使用多个网络适配器。 Hyper-V 支持创建多个虚拟网络交换机,其中每个交换机都可以根据需要附加到物理网络适配器。 VM 中的每个网络适配器都可以连接到虚拟网络交换机。 如果物理服务器有多个网络适配器,则具有网络密集型负载的 VM 可以从连接到不同的虚拟交换机中获益,以更好地使用物理网络适配器。
如果在 Hyper-V 主计算机上安装了多个物理网卡,可将每个网卡的设备中断绑定到单个逻辑处理器。 在某些工作负荷下,将单个网络适配器的设备中断绑定到单个逻辑处理器可以提高 Hyper-V 的性能。 建议仅使用此高级优化来解决完全使用网络带宽的特定问题。 系统管理员可以使用 IntPolicy 工具将设备中断绑定到特定处理器。
如果可能,请为 Hyper-V 综合网络适配器启用 VLAN 标记。 Hyper-V 综合网络适配器支持 VLAN 标记。 如果物理网络适配器支持对大型发送和校验和卸载进行NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB封装,那么它能够显著提升网络性能。 如果没有此支持,Hyper-V 无法对需要 VLAN 标记的数据包使用硬件加速,这可能会导致网络性能下降。
在 Hyper-V 主计算机上安装高速网络适配器,并配置以获得最佳性能。 请考虑在 Hyper-V 主计算机上安装 1-GB 网络适配器,并使用固定速度配置网络适配器,而不是使用“自动协商”-请务必将网络速度、双工和流控制参数设置为对应于其连接的交换机上的设置。
遵循优化网络性能的最佳做法。 网络 优化 主题提供了优化网络性能的一般指南。 虽然本主题不提供在 Hyper-V 虚拟化环境中优化 BizTalk Server 性能的具体建议,但无论在物理硬件上运行还是在 Hyper-V 虚拟化环境中运行,这些技术都适用于任何 BizTalk Server 解决方案。

优化 SQL Server 性能

按照 SQL Server 优化 主题中的建议优化 BizTalk Server 解决方案的 SQL Server 性能。 虽然本主题不提供在 Hyper-V 虚拟化环境中优化 BizTalk Server 性能的具体建议,但无论在物理硬件上运行还是在 Hyper-V 虚拟化环境中运行,这些技术都适用于任何 BizTalk Server 解决方案。

优化 BizTalk Server 解决方案

按照 BizTalk Server 优化 主题中的建议优化 BizTalk Server 解决方案的性能。 虽然本主题不提供在 Hyper-V 虚拟化环境中优化 BizTalk Server 性能的具体建议,但无论在物理硬件上运行还是在 Hyper-V 虚拟化环境中运行,这些技术都适用于任何 BizTalk Server 解决方案。