我们刚刚获得批准购买一台新的数据库服务器。我的经理担心,在我们部署新服务器后,一些用户可能感觉不到性能的改善。我被要求想出一些方法来衡量这种改进。但首先,我要介绍一些有关升级的详细信息:
旧服务器配有双 Intel Xeon 3.40GHz 单核处理器和 4 GB RAM。它运行的是 Windows 2000 Server Standard 32 位和 SQL Server 2000。
新服务器将配备双 Intel Xeon 2.4GHz 四核处理器和 18 GB RAM。它将运行 Windows 2008 Hyper-V 裸机。最初,我们将虚拟化 Windows Server 2003 Premium(直到我们可以将 ERP 软件升级到最新版本)和 SQL Server 2000(预算中没有足够的资金来升级 SQL Server)。
由于之前从未做过这种事情,我的想法是创建一个 SQL 查询,该查询会命中一些非常大的数据库表,使得查询需要一两分钟才能运行,并通过设置两个日期/时间变量来测量执行所需的时间,一个在大型查询之前,一个在大型查询之后。然后,我将这两个日期/时间值存储在一个表中,并安排作业在活动最少且每天活动相同的晚上运行。这应该考虑到白天的负载变化。
通过比较当前情况下的耗时和升级后耗时,应该可以了解节省的时间,这样我们就可以说升级带来了 x% 的改进。我的计划看起来可靠吗?或者我在阿尔伯克基走错了路? 我还需要额外测量什么东西吗?
答案1
以下是一组关于如何使用 perfmon 并为 sql server 创建基线的视频,它将帮助您跟踪和比较不同的计数器。您还可以使用以下工具对磁盘的随机和顺序 IO 进行基准测试IOmeter。另请查看SQL输入输出测量新存储 io 性能。希望这能帮助您入门。
编辑:我还发现了这篇关于存储 IO 基准测试