我在 win2003 32 位(3,5GB RAM)4 CPU 服务器上有一个 sql-server 2005,该服务器带有 RAID 5 磁盘阵列,其性能仅为虚拟 2008-SQL-Server Win2008 32 位 2GB RAM Raid 5 服务器的 1/10。
任务是从一个数据库的一个表中删除 850 万条记录。6 小时后,作为测试环境的虚拟服务器完成了任务。同时,生产服务器已完成近 100 万条记录的删除。真正的 win2003 服务器出了什么问题?
在哪里查看,哪些参数决定某件事?
和平
冰
PS:比较这些系统是否不公平?
答案1
生产服务器很可能有其他请求需要服务,因此它必须共享资源并等待锁。
stackoverflow 上的这个建议应该可以很好地解决你的问题。
答案2
我认为性能差异不会那么大,但一切都取决于情况。在相同的硬件上,当从 03/sql05 更改为 08/sql08 时,我已对应用程序性能进行了基准测试,结果高达 7 倍。您可以尝试在 905 服务器上将并行度更改为 1。我见过提示不佳的查询通过这样做得到改善。此外,检查每个处理器的 RAM 大小、是否有任何其他磁盘 I/O 活动以及处理器类型。请记住,2.4 ghz nehalem 处理器可以使 merom 3.2 ghz 处理器看起来像是以半速运行。
答案3
查看两台机器上删除语句的执行计划,看看它们有何不同;确保统计数据已更新。