好心办坏事 超线程技术影响服务器性能
一些技术专业人士报道称,安装SQL Server和Citrix Terminal Server后,在大负荷情况下支持英特尔超线程技术的系统的性能有显著下降。关闭超线程技术后,系统性能恢复到了预期的水平。
英国财务软件厂商Lakeview的技术主管彼特说,我们的客户投诉称,在同一台系统上运行Citrix Terminal Server和我们的软件时,系统的性能低于预期。他表示,我们的测试也表明,关闭超线程技术,系统的性能能够恢复到正常水平。
超线程技术能够使一个处理器中的不同部分同时运行不同的代码。英特尔表示,它的超线程技术能够提高处理器的性能,使它处理的信息量达到没有采用该技术的处理器的近2 倍。
本月早些时候在网志上发布的一张帖子中,微软内部SQL Server 2005 的一名开发人员斯拉瓦也报告了相同的问题。他写道,在支持超线程技术的高端硬件上,我们的客户发现了一些有趣的现象。
他们指出,在有些情况下,当SQL Server负荷较高时,处理器的利用率大幅度增长,但SQL Server性能却会下滑。
斯拉瓦的一些测试也证明了这一现象。他说,在使用超线程技术后,二个逻辑处理器共享L1和L2缓存,这可能使L1和L2缓存成为数据垃圾场。
据彼特和斯拉瓦分析,共享的缓存无法同时满足二个线程对数据的要求,从而导致了性能的大幅度下滑。
彼特表示,这是具有讽刺意味的。英特尔一直将能够大幅度提高多线程软件的性能当做是超线程技术的卖点。SQL Server对线程非常敏感,但它的性能却下降了。
事实上,在开启超线程技术时,我从来没有看到服务器软件性能的提高。我们建议客户,在同一台服务器上运行Citrix和我们的软件时,关闭超线程技术。
英特尔的发言人斯科特本周一表示,在大多数的测试中,超线程技术的表现都非常良好。他说,英特尔非常清楚它的优缺点所在。
今年早些时候,英特尔的超线程技术被曝存在安全缺陷,线程可以通过共享的缓存获取另一个线程的信息。
评论
更多评论