如何对 Microsoft SQL Server 进行基准测试

Dav*_*ras 8 benchmark sql-server

在我的公司中,我们有多个虚拟机托管 SQL Server 2008 R2,其中一些机器的性能与其他机器不同,有些是因为 Vmware 主机非常繁忙,有些是因为与 NAS 的连接速度较慢。

有没有一种方法可以在测试 SQL 数据库或其他已知的最佳实践中运行一些 SQL 代码,我可以用它在每个 VM 和基准/基准性能中运行一些性能测试,以便我可以在移动之前了解哪台机器的行为比其他机器更好那些机器到 Prod 或 UAT 环境?谢谢,大卫。

wBo*_*Bob 5

您可以使用免费的 SQL 基准测试工具之一,例如 Dell 的Benchmark Factory for Databases (BFD) 或Hammerora。Benchmark Factory 有免费试用版,Hammerora 是开源的。它们都运行业界知名的 TPC 基准测试,您可以使用 BFD 执行自定义工作负载。我只使用了 BFD,每次测试“运行”都可以保存为报告,我发现它对比较非常有用。然而,Hammerora 也得到了很好的支持(例如这里这里)。

您还可以通过 Profiler/服务器端跟踪使用重播跟踪记录您自己的已知工作负载之一,然后恢复备份并在每个环境中重播。此选项还有一些工作要做,但可以进行更熟悉的测试。

我还对 ostress 情有独钟,它是RML Utility Suite 的一部分,该套件于 2014 年 4 月进行了更新,我仍然一直在使用。这个免费的 Microsoft 工具有更多的学习曲线,但它真的很强大。例如,您可以执行“运行此目录中的所有 .sql 脚本 20 次,模拟 50 个并发用户”之类的操作。

总而言之,如果您正在使用免费工具并快速入门,请查看我上面提到的免费工具之一。如果您想投入更多时间,请查看 Replay traces、RML 和 ostress。

HTH


msk*_*ner 2

SQLIO 看起来可能是您想要的一个很好的基准测试工具,因为听起来您正在专门检查与存储相关的潜在问题。

Brent Ozar 有一篇很棒的博客文章可以在这里进行介绍 - Brent Ozar SQLIO 教程

  • [Sqlio 不再可用,并替换为 Diskspd](http://blogs.msdn.com/b/sql_server_team/archive/2015/12/11/sqlio-disk-subsystem-benchmark-tool-is-being-retired。 aspx?utm_source=SQLServerTeamBlog&utm_medium=twitter#.VmvfHK_fWrU) (2认同)