Tom*_*Tom 7 performance sql-server profiler
我们有一台新服务器,我们也在迁移它,并希望看到硬件的潜在优势。所以我们的想法是我们捕获工作负载并在我们的新盒子上重放它。
然而,我的问题是关于看到性能优势。我将运行一些性能计数器,但理想情况下,我们希望查看单个查询的速度有多快。
我将在初始工作负载捕获中获取此信息,但是当我在新服务器上重放此信息时,我是否同时需要运行跟踪以捕获新的工作负载信息。实际上同时运行 SQL 探查器两次以进行重放和捕获?
每次我必须这样做时,我都会使用 RML 实用程序(可以在此页面上找到 x86 和 x64 包下载链接)。
基本上,您只需使用包中包含的模板之一设置服务器端跟踪。可以使用 ReadTrace(包含在 RML Utilities 中)分析捕获的跟踪,并使用查询分析结果填充数据库。结果使用名为 Reporter 的工具显示,该工具只是为 RML Utilities 重新打包的报告服务。
ReadTrace 还生成 RML 中间文件,您可以使用这些文件对新实例进行重放。重放工具称为 Ostress。
在尝试重放(甚至捕获)之前,请仔细阅读手册以了解如何将捕获与备份同步,以确保工作负载针对相同的数据运行,从而获得一致的结果。
在执行重放之前,使用用于初始捕获的相同模板在新实例上设置跟踪。重放结束后,您可以使用 ReadTrace 分析工作负载并使用 Reporter 中的比较功能。它会按 CPU、已用时间和 I/O 显示在两次捕获中哪些查询有所改善或恶化。
这不是微不足道的,但可以通过一些耐心和一些试验/错误来完成。祝你好运!
PS:新版本的 RML 实用程序还可以分析使用扩展事件捕获的工作负载。根据我的经验,这种方式的文件要大得多。RML 和 Distributed Replay 使用的跟踪模板是不同的,所以不要试图互换使用它们。如果我没记错的话,有一种方法可以使用扩展事件文件提供分布式重播,但我可能错了。在我看来,只有当 Ostress 无法跟上高度并发的工作负载时,您才应该研究这个选项。
| 归档时间: |
|
| 查看次数: |
2113 次 |
| 最近记录: |