SQL Server 性能优化之RML Utilities.docx_第1页
SQL Server 性能优化之RML Utilities.docx_第2页
SQL Server 性能优化之RML Utilities.docx_第3页
SQL Server 性能优化之RML Utilities.docx_第4页
SQL Server 性能优化之RML Utilities.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(1)安装Quick Start工具RML(Replay Markup Language)是MS SQL Server产品支持服务团队内部开发使用的一个Trace分析工具,最新的版本支持SQL Server 2005和SQL Server 2008。功能: 、分析最占资源的应用和查询。 、分析跟踪期间的查询计划变更的情况。 、分析哪些查询比起以前来说变慢了。工具地址:/psssql/archive/2008/11/12/cumulative-update-1-to-the-rml-utilities-for-microsoft-sql-server-released.aspx。该文章所有内容均来自于工具的帮助文档。Quick Start如果你以前从来没有使用过这个RML Utilities工具,Quick Start能够帮助指导您去使用它们,通过该工具下的示例,我们将完成数据的捕获、分析、生成报告及环境的重现。The Performance Cycle做过性能分析的人都知道,性能问题是一个长期的工作,不是通过一次性能优化就能够解决所有的问题,它是一个需要循环的捕获、分析以及解决问题。生产系统上的环境变量的改变都将影响的SQL Server的性能,所以当我们进行性能处理的时候,需要提前考虑到参数的变化所带来的影响,而且测试环境是在可控制的环境下进行的。下图描述了循环进行性能优化的流程图:通过Quick Start演练,在详细的RML工具命令下,分解每一步骤来帮助你理解RML工具是如何有效地精确找到性能问题。SetupQuick Start 假设下列操作已经发生。1、你已经安装了RML Utilities。2、你已经创建了文件目录c:temp,用于文件的存储。3、你已经在SQL Server 2005或SQL Server 2008上安装了一个实例,并可以通过Windows Authentication和SQL Server管理员权限连接到这个实例。4、你已经解压了samples.cab, 它包含了演练中所使用的所有脚本。(* Samples.cab放在RML Utility安装目录下。)Quick Start 演练需要使用一个数据库PrecisionPerformance。1、将RML安装目录添加到PATH环境变量中,打开RML命令提示框。使用Ostress命令执行setup.sql,创建一个名为PrecisionPerformance的数据库。在下面的示例中,你需要为setup.sql文件中指定完整路径,来替代被省略的部分。ostress -E -S(local) -i.setup.sql -oc:tempPPSetup 查看c:tempPPSetupsetup.out 与ostress.log文件。 当第一次执行时,这个脚本将返回一个关于删除数据库的错误信息。当然这个在预料之中,是为了证明OStress错误日志输出功能。MicrosoftSQL Native ClientSQL Server无法对数据库 PrecisionPerformance 执行 删除,因为它不存在,或者您没有所需的权限。现在,您已经将前期的工作准备好了,下一章我们将介绍如何通过SQLDiag采集生产环境的数据及利用跟踪捕获SQL Server执行的语句,执行计划,以及其它的应用数据,并利用ReadTrace工具加载.TRC文件及转化为RML格式文件。SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(2)数据采集Capture数据采集需要捕获生产系统上环境及SQL Server执行情况的数据,用于我们进行数据分析。1、修改SD_Detailed.xml配置文件。(如果你没有执行过SQLDiag.exe工具,那么你必须执行它,用来解压出XML配置文件。)Copy “C:program FilesMicrosoft SQL Server90ToolsBinnSD_Detailed.xml” ”c:program FilesMicrosoft SQL Server90ToolsBinnPPConfig.xml” 将sd_detailed.xml复制一份,并将其命名为PPConfig.xml。用记事本工具打开PPConfig.xml文件,禁用跟踪事件采集。定位到:ProfilerCollector enabled=true,将它修改为:ProfilerCollector enabled=false。大家是否考虑这样一个问题:我们为什么不直接用SQLDiag进行数据跟踪?SQLDiag的sd_dtailed.xml文件不能捕获RML Utilities所需要的所有事件,尽管它能采集到部分的跟踪事件。2、如果我们想使用Replay的话,我们需要一个PrecisionPerformance的克隆数据库,你可以通过SQL Server Management Studio内置功能来实现克隆操作。根据下面文章中的步骤获取到克隆数据库的脚本。这个脚本也适合SQL Server 2008:How to generate a script of the necessary database metadata to create a statistics-only database in SQLServer 2005: /kb/914288/en-us3、如果我们想使用Replay的话,我们还得需要备份当前的数据库,备份操作可以通过示例下的SecureState.sql脚本来获取,如果在你真实的项目上进行操作,请主要安全性,以免数据外泄。(备份操作因该在关闭跟踪捕获后进行,并尽可能消除两者之间(源库与备份库)的差异,否则将影响到replay。)ostress -E -S(local) -iSecureState.sql -oc:tempPPSecure4、启动我们的配置,利用SQLDiag.exe进行数据采集。(跟踪数据的采集将在接下来执行)PPConfig.xml文件将会收集计算机与SQL Server 配置信息,并添加到性能监视计数器上。sqldiag.exe /Oc:tempPPSecure /IPPConfig.xml注意:请等待直道看见”collection started ”信息后继续运行。你可以查看c:tempPPSecure目录下新增的文件。他们包含SQL Server 错误信息,MSINFO32及其它配置信息。主要文件如下:sp_sqldiag_shutdown.outMSINFO32.TXTMSINFO数据收集需要花费几分钟时间。注意:通过SQLDiag.exe收集的数据不需要使用RML Utilities的功能。不过捕获当前机器的状态的时刻点,所搜集到的数据非常重要,当我们进行测试时,它能确保replay与测试环境具有相同配置的依据。5、在当前运行的SQL Server上启动一个SQL Server跟踪来捕获事件。在SQL Server Management Studio打开一个查询窗体,并加载TraceCaptureDef.sql脚本文件。注意:这个窗体请保留,直到你完成了Quick Start所有演练。在这个脚本中,请修改字符串“InsertFileNameHere”为“c:tempPrecisionPerformancesp_trace”。注意:请不要添加.trc后缀。系统将自动创建一个名为sp_trace.trc的跟踪文件。执行这个脚本,并保存TraceID,当跟踪数据完成后,用于停止跟踪。注意:我们所跟踪到数据sp_trace.trc,将被用于RML Utilities进行数据分析。6、我们需求模拟用户请求,并在当前的数据库上执行,下面的命令是打开两个数据库链接,每个链接执行文件中的查询语句1000次。ostress -E -S(local) -iWorkload.sql -oc:tempPPWorkload -q -n2 -r10007、一旦模拟操作结束后,立即停止跟踪与SQLDiag采集。(1)、使用CTRL + C 停止SQLDiag工具。(2)、当跟踪被启动时,通过sp_trace_setstatus命令执行T-SQL语句来停止跟踪。当前,我们已经采集了可供分析的数据,接下来,我将利用RML Utilities的工具进行数据分析,并以图形化的方式进行展现。SQL Server 性能优化之RML Utilities:快速入门(Quick Start)(3)数据分析Analyze我们将根据跟踪到的数据进行分析,利用Reporter工具以图表的形式展现出来。捕获到的TRC数据文件能够被ReadTrace工具所读取,并转化成.RML格式数据,供replay工具使用。1、执行下面命令,处理加载跟踪采集数据到数据库PPProd中。ReadTrace -Ic:tempPrecisionPerformancesp_trace.trc -oc:tempPPBreakout-S(local) -dPPProd系统自动分析sp_trace.trc数据,并创建一个PPProd数据库存放分析后的数据,将转化的RML格式数据文件存放到PPBreakout目录下。2、ReadTrace工具处理完跟踪数据后,将自动启动Reporter工具,方便你对数据进行分析。你也可以使用SQLNexus加载跟踪采集数据和其它由SQLDiag采集到的其它信息。SQLNexus提供了附加报表功能,支持可扩展数据采集。当数据被加载到PPProd数据库后,Performance Overview报表将自动生成。执行下列操作,理解Reporter所提供的报表数据。当你执行下列动作,展现新的选项卡时,可以执行不同的操作返回到主选项卡上。(1)、点击Show/Hide按钮,注意操作后数据的变化。(2)、点击Application Name,找出占用CPU最多的应用程序。(3)、点击Parameters,弹

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论