应用profiler优化sqlserver数据库系统

应用profiler优化sqlserver数据库系统

ID:10366406

大小:67.00 KB

页数:6页

时间:2018-07-06

应用profiler优化sqlserver数据库系统_第1页
应用profiler优化sqlserver数据库系统_第2页
应用profiler优化sqlserver数据库系统_第3页
应用profiler优化sqlserver数据库系统_第4页
应用profiler优化sqlserver数据库系统_第5页
资源描述:

《应用profiler优化sqlserver数据库系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、应用Profiler优化SQLServer数据库系统>>教育资源库概述  当你的SQLServer数据库系统运行缓慢的时候,你或许多多少少知道可以使用SQLServerProfiler(中文叫SQL事件探查器)工具来进行跟踪和分析。是的,Profiler可以用来捕获发送到SQLServer的所有语句以及语句的执行性能相关数据(如语句的read/alization功能  Read80Trace工具是一个命令行工具。使用Read80Trace工具可以大大节省分析Trace文件的时间,有事半功倍的效果。Re

2、ad80Trace的主要工作原理是读取Trace文件,然后对语句进行Normalize(标准化),导入到数据库,生成性能统计分析的HTML页面。另外,Read80trace可以生成RML文件,然后OSTRESS工具使用RML文件多线程地重放Trace文件中的所有事件。这对于那些想把Profiler捕获的语句在另外一台服务器上重放成为可能。  我要利用的是Read80Trace的标准化功能。什么是标准化?就是把那些语句模式类似,但参数不一样的语句全部归类到一起。举例说Trace中有几条语句如下:sele

3、ct*fromauthorse='authorse='green'select*fromauthorse='carson'  经过标准化后,上面的语句就变成如下的样子:select*fromauthorse={str}select*fromauthorse={str}select*fromauthorse={str}  有了标准化后的语句,统计出数据库系统的访问模式就不再是难事。运行Read80trace的时候我一般使用如下的命令行:Read80trace&nd

4、ash;f–dmydb–Imytrace.trc  其中-f开关是不生成RML文件,因为我不需要重放的功能。生成的RML文件比较大,建议读者如果不需要重放的话,也使用-f开关。  -d开关告诉read80trace把trace文件的处理结果存到mydb数据库中。我们后面创建的存储过程正是访问read80trace在mydb中生成的表来进行统计的。-I开关是指定要分析的的trace文件名。Read80trace工具很聪明,如果该目录下有Profiler产生的一系列Trace文件,

5、如mytrace.trc,mytrace1.trc,mytrace2.trc等,那么它会一一顺序读取进行处理。  除了上面介绍的外,Read80trace还有很多其它有趣的开关。比如说使用-i开关使得Read80trace可以从zip或CAB文件中读取trace文件,不用自己解压。所有开关在Read80trace.chm中有详细介绍。我最欣赏的地方是read80trace1234下一页>>>>这篇文章来自..,。的性能。分析几个GB大小的trace文件不足一小时就搞定了。我的计算机是一台内存仅为512

6、MB的老机器,有这样的性能我很满意。  你也许会使用read80trace分析压力测试产生的trace文件。我建议还是分析从生产环境中捕获的Trace文件为好。因为很多压力测试工具都不能够真正模拟现实的环境,其得到的trace文件也就不能真实反映实际的情况。甚至有些压力测试工具是循环执行自己写的语句,更不能反映准确的访问模式。建议仅仅把压力测试产生的trace作为参考使用。  使用存储过程分析Normalize后的数据有了标准化后的语句就可以使用存储过程进行统计分析了。分析的基本思想是把所有模式一样的

7、语句的Reads,CPU和Duration做groupby统计,得出访问模式信息:  1.某类语句的总共执行次数,平均读页面数(reads)/平均CPU时间/平均执行时间等。2.该类语句在所有语句的比例,如执行次数比例,reads比例,CPU比例等。  存储过程的定义以及说明如下:/*************************************************************/Createprocedureusp_GetAccessPattern8000duration_f

8、ilterint=-1--传入的参数,可以按照语句执行的时间过滤统计asbegin/*首先得到全部语句的性能数据的总和*/declaresum_totalfloat,sum_cpufloat,sum_readsfloat,sum_durationfloat,sum__total=count(*)*0.01,--这是所有语句的总数。sum_cpu=sum(cpu)*0.01,--这是所有语句耗费的CPU时间sum_reads=sum(reads)*0.01

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。