当咱们的数据库服务器在某段业务高峰年期间,周期性出现如CPU接近 100%、内存耗尽、IO量大等问题时候,做为维护人员这时候压力很大,在作通常性排除后仍然没有找到缘由。当咱们须要进一步深刻到语句分析层面找问题根源时,ClearTrace这款工具正好能够帮上忙。 经过该工具能够识别收集性能数据的这段时间,那类语句耗费系统资源最多,帮助快速定位性能瓶颈根源,处理棘手的性能问题。html
小贴士:sql
在使用ClearTrace工具前,须要经过SQL Profiles或Trace脚本实时收集一段时间性能数据,内容至少包括RPC:完成和SQL:BatchCompleted事件和TextData、CPU、读、写和持续时间列。并保存为.trc文件。数据库
ClearTrace "标准化" SQL 语句 ,消除SQL语句参数等不一致的语句,并加以合并为“同一类型”的语句。具体有如下特色:服务器
举个例子:工具
捕获到二个语句SQL一、SQL2,注意语句的主体部分都同样,条件等号右边参数值不同性能
SQL1:Select * From qryLinksByNewsletterID Where NewsletterID=19 SQL2:Select * From qryLinksByNewsletterID Where NewsletterID=10
SQLTrace 将SQL1和SQL2都被“标准化为”一类语句SQL(n)ui
SQL(n):SELECT * FROM QRYLINKSBYNEWSLETTERID WHERE NEWSLETTERID={##}
将相似的语句分组在一块儿,变成相似上面的标准化语句SQL(n),ClearTrace统计SQL(n)综合全部语句的性能指标的参数值,这些指标值帮助咱们识别哪些"同一类型"语句占用较多资源,并可能致使性能问题。spa
1. 提供较丰富的操做界面3d
2. 分析前的查询可经过条件“应用程序”、“主机名”、“登陆名”、“事件”筛选。code
备注:这里“事件”选择,当选择“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仍是很方便的。
第一步,下载ClearTrace工具并解压,无需安装直接双击ClearTrace(不一样版本解压后文件数量可能不同)。
第二步,出现提示建立数据库配置对话框(使用前确认本地要有SQLServer实例安装,并有本地Window帐号可访问的权限)。
第三步,肯定后,按照提示点击菜单Tool->Options,出现配置对话框,填写可链接的SQLServer 实例名,以及建立数据库名字(建议名称:Tracereport),接着提示是否建立,点击“是”便可。
第四步,接着选择要分析的trc文件,点击“import Files”,显示导入进度和完成后的摘要信息。
导入进度显示........
第五步,导入完成后,直接显示分析查询界面,接下来开始分析语句,找到性能杀手。
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 ,谢谢。