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

时间:2014-07-12 18:04:40

标签: sql-server sql-server-2008 sql-server-2012

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

1 个答案:

答案 0 :(得分:3)

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

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

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

来自MSDN Documentation,具体摘录

  

执行多任务处理,Microsoft Windows 2000和Windows Server   2003有时在不同处理器之间移动进程线程。   虽然从操作系统的角度来看效率很高,但这一点   活动可以降低Microsoft SQL Server的性能   系统加载,因为每次重复加载每个处理器缓存   数据。将处理器分配给特定线程可以提高性能   在这些条件下,通过消除处理器重新加载;这样的   线程和处理器之间的关联称为处理器   的亲和力

     

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