• 一款快速识别最慢语句的性能分析工具


    ClearTrace 能干啥

    当我们的数据库服务器在某段业务高峰年期间,周期性出现如CPU接近 100%、内存耗尽、IO量大等问题时候,作为维护人员这时候压力很大,在做一般性排除后仍然没有找到原因。当我们需要进一步深入到语句分析层面找问题根源时,ClearTrace这款工具正好可以帮上忙。 通过该工具可以识别收集性能数据的这段时间,那类语句耗费系统资源最多,帮助快速定位性能瓶颈根源,处理棘手的性能问题。

    小贴士

    在使用ClearTrace工具前,需要通过SQL Profiles或Trace脚本实时收集一段时间性能数据,内容至少包括RPC:完成SQL:BatchCompleted事件TextDataCPU、读、写持续时间列。并保存为.trc文件。

      

    ClearTrace特点

    标准化SQL语句

    ClearTrace "标准化" SQL 语句 ,消除SQL语句参数等不一致的语句,并加以合并为“同一类型”的语句。具体有以下特点:

    • 所有的数值、字符串和日期常数转换为一个占位符 ,“#”表示
    • 抓取的预备SQL显示为实际语句执行,不做任何更改
    • 服务器端游标与“{光标}”前缀,这样他们就可以被识别和移除
    • 抓取的sp_executesql显示实际执行的SQL语句,不做任何更改
    • 抓取的存储过程名称标注为RPC:完成事件

     举个例子:

    捕获到二个语句SQL1、SQL2,注意语句的主体部分都一样,条件等号右边参数值不一样

    SQL1:Select * From qryLinksByNewsletterID Where NewsletterID=19
    
    SQL2:Select * From qryLinksByNewsletterID Where NewsletterID=10

    SQLTrace 将SQL1和SQL2都被“标准化为”一类语句SQL(n)

    SQL(n):SELECT * FROM QRYLINKSBYNEWSLETTERID WHERE NEWSLETTERID={##}

    将类似的语句分组在一起,变成类似上面的标准化语句SQL(n),ClearTrace统计SQL(n)综合所有语句的性能指标的参数值,这些指标值帮助我们识别哪些"同一类型"语句占用较多资源,并可能导致性能问题。

     

    ClearTrace整合分析结果

    1. 提供较丰富的操作界面

      

    2. 分析前的查询可通过条件“应用程序”、“主机名”、“登录名”、“事件”筛选。

     

     备注:这里“事件”选择,当选择“Statement”是结果统计的是SQL语句,当选择“Batches”时结果统计的是存储过程。这个选项可以区分是要做语句分析,还是存储过程分析。

    选择“Statement”截图

     

    选择“Batches”截图

     

    3. 查询结果显示列表,

    Item:“标准化”的SQL脚本、#:执行次数、CPU 执行花费时间、Read逻辑读次数、write写次数、Duration总体花费时间,另外可选的还有平均CPU、平均Read、平均write、平均Durations。

    关于如何从以上几个参数纬度分析性能问题,网上已经有很多出色文章,这里就不多说了。

     

    4. 可以通过CPU、 Reads、 Writes 、 Duration、执行次数、平均CPU、平均Reads、 平均Writes 、 平均Duration等进行排序。这是重点,可迅速帮助我们识别哪些语句CPU使用最高、哪些IO使用最多等等,找到性能资源消费的TOP 50还是很方便的。

     

    其他特性

    • 处理多个Trace文件
    • 处理过的数据存储在数据库中,可随时查询
    • 处理完成的trace文件可归档到指定的目录

     

     

    ClearTrace如何操作

    第一步,下载ClearTrace工具并解压,无需安装直接双击ClearTrace(不同版本解压后文件数量可能不一样)。

    第二步,出现提示创建数据库配置对话框(使用前确认本地要有SQLServer实例安装,并有本地Window账号可访问的权限)。

     

    第三步,确定后,按照提示点击菜单Tool->Options,出现配置对话框,填写可连接的SQLServer 实例名,以及创建数据库名字(建议名称:Tracereport),接着提示是否创建,点击“是”即可。

     

    第四步,接着选择要分析的trc文件,点击“import Files”,显示导入进度和完成后的摘要信息。

    导入进度显示........

     

    第五步,导入完成后,直接显示分析查询界面,接下来开始分析语句,找到性能杀手。

     

     

    资源

    ClearTrace版本下载

    ClearTrace 版本Build 47:支持 SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, and SQL Server 2008。

    ClearTrace 版本Build 42:支持SQL Server 2012之前版本。

    下载地址:http://www.scalesql.com/cleartrace/download.html

    论坛

    http://forums.sqlteam.com/c/cleartrace. 使用中遇到任何Issue可以提交此处。

     

     

    小结:

    至此, 相关ClearTrace工具的介绍完毕,内容比较粗显,意义在通过此类工具能给DBA或从事数据库相关工作的朋友在性能调优时有帮助。同样,感谢无私提供这个工具并一直维护、升级新版本的贡献者们,正因有他们才让我们的工作更有效率。

     如要转载,请加本文链接并注明出处http://www.cnblogs.com/SameZhao/p/6214364.html ,谢谢。

  • 相关阅读:
    python 函数
    谷歌浏览器安装POSTMAN
    Django提示Unknown database处理方法
    Django 连接Mysql异常处理
    Django输入 中文参数保存异常解决方法
    vscode过滤pyc文件
    Jenkins启动和停止服务
    执行robot framework 的测试用例 命令行pybot使用方式
    Jenkins定时任务
    Jenkins构建Python项目失败
  • 原文地址:https://www.cnblogs.com/SameZhao/p/6214364.html
Copyright © 2020-2023  润新知