那里有很多文章(请参阅Slava Oks的原始SQL 2000文章和Kevin Kline的SQL 2005更新)建议在SQL服务器上禁用超线程,或者至少在对服务器进行启用之前测试您的特定工作负载。
随着真正的多核处理器替代超线程处理器,该问题的重要性逐渐降低,但是在此问题上的最新见解是什么?对于SQL 2005 64位,SQL 2008或Windows Server 2008,此建议是否有任何更改?
理想情况下,应该在登台环境中对此进行预先测试,但是对于已经启用HT的生产环境的服务器呢?如何判断我们遇到的性能问题是否与HT相关?在提高SQL性能时,与我通常追求的所有其他事情相反,是否有一些perfmon计数器的特定组合可以将我指向该方向?
编辑:这是特别有吸引力的,因为有可能对我的某些高CPU服务器进行全面的改进,但是客户端将希望看到一些具体的东西,这些东西可以帮助我确定哪些服务器真正可以从禁用超线程中受益。当然,常规性能故障排除仍在进行中,但有时会有所帮助。