Tim*_*ver 11 performance sql-server-2008 sql-server
我们一直在使用专用服务器(单四核,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 四核 8 线程(带 H/T)。新服务器有 2 个 Intel Xeon E5-2640 2.5 GHz 六核 12 线程(带 H/T)。
编辑2:这是最终分析:
电源计划是平衡的,而不是高性能。把那个换了。
Tempdb 位于 RAID 5 上,而不是 RAID 10。添加了另一个 HD 以创建两个物理上不同的 RAID 10 配置,一个用于 tempdb,另一个用于其他所有配置。
从病毒扫描中排除与 SQL 相关的文件(mdf、ldf、ndf、bak)。
迁移到新服务器后重建所有索引。它们非常分散——可能是备份、复制、恢复的结果?
我意识到处理器的跳跃并没有那么大。查询的执行速度不会那么快,但是有了更多的处理器、更多的内核、更多的 RAM,我们的可扩展性就会更高。
RBa*_*ung 11
Raid 5 比 raid 10 慢,特别是对于写入繁重的工作负载。因此,通常不推荐用于 SQL 服务器,当然也不推荐用于 tempdb。仅此一项就可以轻松解释性能差异。
我的建议是将 tempdb 移至 raid 10。
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |