我们一直在使用专用服务器(单四核,6 GB RAM)并且正在迁移到新的专用服务器(2x 六核,32 GB RAM)。两者都是Windows Server 2008、SQL Server 2008。新服务器上的性能比旧的、速度较慢的服务器稍差。
在测试中,我们的 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 上的操作系统、RAID 10 上的数据库、RAID 5 上的 tempdb。总共 9 个 15K 6 Gb/s 2.5 英寸 SAS。
旧服务器有 1 x Intel Xeon E5620 2.40 GHz 四核 …