处理器关联性和I/O亲和性之间的差异

use*_*237 6 sql-server sql-server-2008 sql-server-2012

我正在准备认证,并试图了解处理器亲和力和I/O亲和力之间的差异.如果有人可以用简单的话语向我解释这一点,我将感激不尽.试图在MS链接上了解它,但感到困惑.非常感谢

Rah*_*hul 4

好吧,我不是 DBA,但据我所知,SQL Server 在多线程上运行(生成多个线程来服务请求),是一个多线程应用程序。

您可以指定/映射特定线程以在特定 CPU 上工作(因为高端服务器计算机将在 16 个或更多 CPU 上运行)。这就是所谓的Processor Affinity

affinity I/O maskorI/O Affinity选项将 SQL Server 磁盘 I/O 绑定到指定的 CPU 子集

来自MSDN文档,具体摘录

为了执行多任务处理,Microsoft Windows 2000 和 Windows Server 2003 有时会在不同处理器之间移动进程线程。尽管从操作系统的角度来看,此活动非常高效,但在系统负载较重的情况下,此活动可能会降低 Microsoft SQL Server 的性能,因为每个处理器缓存都会反复重新加载数据。将处理器分配给特定线程可以通过消除处理器重新加载来提高这些条件下的性能;线程和处理器之间的这种关联称为处理器 亲和性

SQL Server 通过两个关联掩码选项支持处理器关联:关联掩码(也称为CPU 关联掩码)和 关联 I/O 掩码

  • 老问题,但我总是对遗漏的内容感到惊讶。当然,两者之间是有区别的。关联掩码指的是CPU 资源,关联掩码指的是存储资源。如果您拥有充足的处理能力但磁盘空间不足,请根据您的判断来设置 IO 关联性。如果是相反的情况(通常情况)设置处理器关联性 (4认同)