清单:优化 Hyper-V 上的性能

运行BizTalk Server和/或SQL Server实例 (Hyper-V 虚拟机上具有BizTalk 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 的性能开销”白皮书“在 Hyper-V 环境中运行 SQL Server 2008 最佳做法和性能注意事项”部分

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

优化 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 虚拟环境中运行的来宾操作系统的处理器性能:

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

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

  • 请注意不同来宾操作系统的虚拟处理器限制,并相应地规划 - Hyper-V 虚拟机中运行的来宾操作系统可用的处理器核心数可能会影响托管应用程序的整体性能。 因此,应考虑 Hyper-V 虚拟机上安装哪个来宾操作系统来托管BizTalk Server和/或SQL Server实例 (承载BizTalk 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
64 位 Windows Vista 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,Hyper-V 将分配所有 100 GB 的数据块存储,以及创建新的 VHD 时 VHD 标头和页脚所需的开销。
- 动态扩展磁盘 - 动态扩展 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,对于分配给每个虚拟机的另外 8 GB RAM,对于根分区上运行的主机操作系统,则为 512 MB
例如,如果在 Hyper-V 管理器中为 Hyper-V 虚拟机分配了 2 GB 内存,则运行该 Hyper-V 虚拟机时使用的实际物理内存大约为 2388MB (300MB,虚拟机监控程序为虚拟机分配的 2GB +32MB + 8MB = 2388MB) 。 由于虚拟机监控程序只需加载一次,因此初始化后续虚拟机不会产生与加载虚拟机监控程序相关的 300 MB 开销。 因此,如果在 Hyper-V 管理器中为每个 Hyper-V 虚拟机分配了 2 GB 内存,则运行这些 Hyper-V 虚拟机时使用的实际物理内存大约为 4476MB (300MB,虚拟机监控程序分配的 4GB +64 MB + 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性能的具体建议,但技术适用于任何BizTalk Server解决方案,无论是在物理硬件上运行还是在 Hyper-V 虚拟化环境中运行。

优化SQL Server性能

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

优化BizTalk Server解决方案

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