目录
简介
本文讨论了一个超线程环境中的 SQL Server 支持。
更多信息
SQL Server 的核心设计在超线程环境中完全正常工作。 但是,如果你使用的是超线程环境,我们建议你执行以下操作:
-
运行 Microsoft SQL Server 2000 Service Pack 3 (SP3)或更高版本的服务包。
-
安装最新的安全更新。
Microsoft Windows 操作系统使逻辑超线程 Cpu 显示为物理 Cpu。 由于 SQL Server 已经高度可伸缩,因此其他 Cpu 使 SQL Server 能够使用更多的处理器。有关 Microsoft Windows 支持超线程的其他信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/whdc/system/sysinternals/ht-windows.mspx在考虑执行超线程部署时,必须注意以下事项:
-
协议
-
处理器映射
-
能
-
英特尔的 CPU 盘点实用程序
下面是有关每个项目的详细信息。
协议
启用超线程时,基本输入输出系统(BIOS)使用逻辑到物理 CPU 比率。 当前实现使用的是2:1 比率。 这意味着每个物理 CPU 有两个(2)个逻辑 Cpu。 这些比率在将来可能会更改;但是,Microsoft SQL Server 2000 Service Pack 3 (SP3)和更高版本具有可调整授权限制以处理比率的其他许可代码。 例如,如果你安装的 SQL Server 产品代码允许2:1 比率的 4 CPU 许可证,SQL Server 2000 SP3 内部版本和更高版本的版本将进行调整,并让你使用8个 Cpu。当安装 SQL Server 时,你将使用物理 CPU 计数,并且让 SQL Server 能够处理比率转换。 相比之下,当设置 关联掩码 选项时,将使用逻辑 CPU 值,因为 SQL Server 将所有 cpu 用作物理处理器。有关更多许可和支持的配置详细信息,请访问下面的 Microsoft 网站:
处理器映射
默认情况下,SQL Server 根据序号处理器顺序为每个处理器创建逻辑用户模式调度(UMS)计划程序。 在支持超线程的环境中,Microsoft Windows 使所有处理器可用于 SQL Server 进程,就像它们是真正的物理处理器一样。 下表显示逻辑和物理处理器映射的示例。处理器映射表1
合乎 |
物理 |
---|---|
0 |
0 |
1 |
1 |
2 |
2 |
3 |
3 |
第 |
0 |
级 |
1 |
6 |
2 |
7 |
3 |
下面是另一个处理器映射示例。处理器映射表2
合乎 |
物理 |
---|---|
0 |
0 |
1 |
0 |
2 |
1 |
3 |
1 |
第 |
2 |
级 |
2 |
6 |
3 |
7 |
3 |
任何一种映射都可用于 SQL Server。 但是,请注意不要创建当预期使用多个物理 Cpu 时 SQL Server 意外限制为物理 CPU 的情况。可以使用 SQL Server 关联掩码选项更改预期的物理处理器使用率。 若要执行此操作,请参阅处理器映射表1。 如果关联掩码为00010001且使用的是处理器0和处理器4,则使用的逻辑处理器映射到样本物理处理器,#0。 这将导致单个物理处理器使用,同时支持这两个逻辑处理器,而不是两个物理处理器。 这种情况可能会降低性能。你可以使用 "关联掩码" 选项和 "IO 关联掩码" 启动参数的组合来更改默认行为。 有关关联掩码选项或 IO 关联掩码启动参数的详细信息,请参阅 SQL Server 联机丛书。有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
298402 了解如何设置 SQL Server 输入/输出关联选项警告 建立关联掩码时请务必小心。如果你打算使用单独的物理处理器,则可以轻松地使用同一物理处理器支持两个逻辑处理器,从而轻松配置关联掩码。
能
超线程环境的性能各有不同。 保守测试的 SQL Server 工作负荷提高了10% 到20%,但应用程序模式有重大影响。 你可能会发现,某些应用程序在利用超线程处理时不会提高性能。 如果物理处理器已经饱和,使用逻辑处理器实际上可以减少实现的工作负荷。 例如,导致高争用级别的应用程序可能会导致超线程环境中性能下降。 我们建议你对应用程序进行全面测试,以确保超线程环境为你提供所需的性能提升,而不是对等效的物理 Cpu 的购买。 超线程处理可能非常有用,但超线程不能取代额外物理 CPU 的全部功能。本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。英特尔网站有一些有用的信息和有关超线程(英特尔 NetBurst 微体系结构)的教程。 有关支持超线程的系统的详细信息,请访问以下 Intel 网站:
http://software.intel.com/en-us/blogs/2009/06/02/intel-hyper-threading-technology-your-questions-answered http://developer.intel.com
最大并行度(MAXDOP)
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2806535 有关 SQL Server 中 "最大并行度" 配置选项的建议和指南