1

除了我之前关于SQL server 的 Optimal RAID setup 的问题之外,任何人都可以建议一种快速而肮脏的方法来对新旧服务器上的数据库性能进行基准测试以比较它们吗?显然,正确的方法是监控我们的实际使用情况并设置各种性能计数器并捕获查询等,但我们还没有达到那种复杂程度,这不是我们能够做到的做着急。所以与此同时,我追求的东西会不太准确,但做起来很快,总比没有好。只要它没有误导,那将比没有更糟糕。它应该是特定于 SQL Server 的,而不仅仅是“综合”基准。如果我们可以为此使用我们的实际数据库,那就更好了。

4

3 回答 3

1

使用新旧服务器测量应用程序本身的性能。这并不容易:

  • 使用您的应用程序设置一个性能测试环境(取决于您的架构,这可能由多台机器组成,其中一些可能是虚拟机,但其中一些可能不是)
  • 创建“驱动程序”程序,为应用程序提供模拟工作
  • 在相同条件下运行批量工作 - 请记住在运行之间重新启动数据库服务器以消除缓存的影响(否则您的第二次和后续运行可能会非常快)

确保性能测试环境中有足够的硬件机器能够重载数据库——这可能意味着将一些虚拟机换成真正的硬件。

请记住在您的性能测试环境中使用生产级硬件——即使它很昂贵。

我们的数据库性能测试集群包含六台硬件机器,其中几台是生产级的,其中一台包含昂贵的存储阵列。我们在 7 日还有大约十几个虚拟机来模拟服务的其他部分。

于 2008-10-08T05:59:41.890 回答
0

你总是可以插入、读取和删除几百万行——这不是一个现实的操作组合,但它应该很好地给磁盘带来压力......

于 2008-10-08T04:50:30.843 回答
0

找到至少几个需要一些时间的查询,或者至少是您怀疑需要时间的查询,如果您还没有数据,请插入大量数据,然后运行已设置的查询:SET STATISTICS IO ON SET STATISTICS TIME ON SET STATISTICS PROFILE ON 这些应该让您大致了解正在消耗的资源。

您还可以运行 SQL Server Profiler 以大致了解哪些查询需要很长时间以及它们需要多长时间以及其他统计信息。它会输出大量数据,因此请尝试对其进行过滤,可能是通过较长的持续时间或其他性能统计数据之一。

于 2008-10-08T05:17:40.900 回答