我正在准备认证,并试图了解处理器亲和力与I / O亲和力之间的差异。如果有人可以用简单的话语向我解释这一点,我将感激不尽。试图在MS链接上了解它,但感到困惑。非常感谢
答案 0 :(得分:3)
嗯,我不是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掩码