【发布时间】:2014-07-12 18:04:39
【问题描述】:
我正在准备认证并试图了解处理器亲和性和 I/O 亲和性之间的区别。如果有人能用简单的话向我解释一下,将不胜感激。试图在 MS 链接上了解它,但感到困惑。非常感谢
【问题讨论】:
标签: sql-server sql-server-2008 sql-server-2012
我正在准备认证并试图了解处理器亲和性和 I/O 亲和性之间的区别。如果有人能用简单的话向我解释一下,将不胜感激。试图在 MS 链接上了解它,但感到困惑。非常感谢
【问题讨论】:
标签: sql-server sql-server-2008 sql-server-2012
好吧,我不是 DBA,但据我所知,SQL Server 在多线程上运行(产生多个线程来处理请求)是一个多线程应用程序。
您可以指定/映射特定线程以在特定 CPU 上工作(因为高端服务器机器将在 16 个或更多 CPU 上运行)。也就是Processor Affinity。
而 affinity I/O mask 或 I/O Affinity 选项将 SQL Server 磁盘 I/O 绑定到指定的 CPU 子集
来自MSDN Documentation,具体摘录
要执行多任务,Microsoft Windows 2000 和 Windows Server 2003 有时会在不同处理器之间移动进程线程。 尽管从操作系统的角度来看是有效的,但这 活动会降低 Microsoft SQL Server 的性能 系统负载,因为每个处理器缓存都反复重新加载 数据。将处理器分配给特定线程可以提高性能 在这些条件下,通过消除处理器重新加载;这样一个 线程和处理器之间的关联称为处理器 亲和力。
SQL Server 通过两个关联掩码支持处理器关联 选项:关联掩码(也称为 CPU 关联 掩码)和 关联 I/O 掩码
【讨论】: