新服务器上的性能更差


11

我们一直在使用专用服务器(单四核,6 GB RAM),并且正在迁移到新的专用服务器(2x六核,32 GB RAM)。两者都是Windows Server 2008,SQL Server2008。新服务器的性能比旧的慢服务器稍差。

在测试中,我们的ASP.NET应用程序的运行速度降低了10%-20%。使用STATISTICS IO和STATISTICS TIME运行单个昂贵的查询将显示在新服务器上的运行时间增加了10-20%。SQL查询配置文件在昂贵的查询中显示较高的CPU使用率。

新服务器上的任务管理器显示sqlserver.exe正在消耗22 GB的RAM,但CPU值始终保持很低。

我已经更新了所有统计信息,重建或重新组织了索引等。鉴于我已完成的测试量,执行计划此时应存储在新服务器上。如果有任何缺失的索引(我认为没有),它们会同等地影响新旧服务器。新的具有与旧的相同数据的还原备份。

我曾希望新服务器上的性能会更好,但是负载更值得关注。如果旧服务器即使在负载下也表现更好,那么当新的,性能稍差的服务器必须承担该负载时会发生什么?

我还能在这里错过什么?

编辑:MAXDOP设置为6。

旧服务器在相同的物理驱动器(RAID 10)上具有操作系统,数据库和tempdb。总共4个15k 3 Gb / s 3.5英寸SAS。新服务器具有三个驱动器集:RAID 1上的OS,RAID 10上的数据库,RAID 5上的tempdb。总共9个15K 6 Gb / s 2.5英寸SAS。

旧服务器具有1 x Intel Xeon E5620 2.40 GHz四核8线程(w H / T)。新服务器具有2个Intel Xeon E5-2640 2.5 GHz六核12线程(w H / T)。

编辑2:这是最终分析:

电源计划处于平衡状态,而不是高性能。切换了。

Tempdb位于RAID 5而非RAID 10上。添加了另一个HD,以创建两个物理上不同的RAID 10配置,一个用于tempdb,另一个用于其他所有东西。

从病毒扫描中排除了与SQL相关的文件(mdf,ldf,ndf,bak)。

移至新服务器后,重建所有索引。它们非常分散-可能是备份,复制,还原的结果?

我意识到处理器的跳跃并不大。查询执行的速度不会更快,但是有了更多的处理器,更多的内核,更多的RAM,我们将具有更大的可扩展性。


除了O / S电源计划外,还可以进行相关的BIOS设置:stackoverflow.com/a/27807572/538763
crokusek

Answers:


11

突袭5的速度比突袭10的速度慢,尤其是对于大量写入的工作负载而言。因此,通常不建议将其用于SQL Server,当然也不建议用于tempdb。仅此一项就可以轻松解释性能差异。

我的建议是将tempdb移至RAID 10。


4

这是一个非常普遍的问题,因此很难给出具体建议。但是,如果遇到这种情况,我将从基础知识入手,检查最昂贵的查询。什么功能需要更长的时间?使用统计时间运行查询最消耗时间是什么?一旦您将焦点缩小一点,就可以将其与旧服务器进行比较。另外,要检查的一点是确保两个服务器都处于同一补丁程序级别(SQL和Windows)。


3

好吧,您什么也没有说硬盘和拥有的tempdb文件的数量。普遍建议tempdbs的nr =最多32个内核,还有一个开关可以抛出以确保temp dbs的使用均等。

但深入了解:http ://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%281230%29-tempdb-should-always-have-one-data- 在迁移过程中,file-per-processor-core.aspx也更改了表和索引的包装吗?备份和还原可能最终默认为对索引(包括群集索引)进行不同的填充

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.