第6部分 系统监视与性能调整.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:15 大小:1.7MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第6部分 系统监视与性能调整.doc

第6部分系统监视与性能调整.doc

预览

免费试读已结束,剩余 5 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

理论部分SQL性能监视1.性能监视的过程首先要排除因为事物死锁导致的问题,然后是数据组织不合理导致硬盘I/O过多的问题,接着考虑是否是内存过小导致硬盘I/O过多的问题,下一步是排除查询不够优化的性能问题,最后是排除CPU性能过低的问题2.SQL活动目录监视器活动监视器显示活动的摘要信息,通过活动监视器可以发现活动是否被堵塞而导致性能低下,可以发现内存正在运行的活动占用的内存情况,磁盘I/O的情况3.系统监视器系统监视器也叫性能监视器,不仅可以监视整个系统的情况,而且还可以监视运行的SQLServer实例的运行情况(1)SQLServer关键性能对象SQLServer提供了对象和计数器,可以在性能监视器中使用它们监视SQLServer的活动,监视的对象可以是任何SQLServer资源,并且每个对象有一个或多个计数器,用于收集所要监视对象的各方面信息,例如:SQLServer的对象包含名为DateFile(s)Size和LogFile(s)Size的计数器,一些对象会以一个,而某些对象只有一个实例(2)系统性能对象CPU;磁盘;内存(3)设置监视器可以直接打开性能监视器,在性能监视器中添加计数器,但是如果需要跟踪的时间较长且需要事后进行分析,应该捕获系统性能对象的数据到日志中,步骤如下:在性能监视器窗口中,选择‘计数器日志’,右击选择‘新建日志设置’,输入名称确定,接下来就是添加计数器和日志路径和计划任务的一些设置,完成后,在性能监视器窗口中,右击刚建立的日志,选择启动,切换到‘系统监视器’,在工具栏里打开系统属性窗口,选择‘日志文件’,设置日志文件显示的时间范围和计数器的颜色与线型确定即可4.SQLServerProfiler通过使用SQLServerProfiler可以跟踪SQLServer和数据库的活动,可以执行的操作有:创建基于可重用模板的跟踪当跟踪运行时监视跟踪记录建跟踪记录存储在表中根据需要启动,停止,暂停和修改跟踪记录重播跟踪记录(1)定义跟踪:跟踪信息分别记录到不同的时间类中,时间类中包括一组相关的事件,事件是指在SQLServer实例中发生的操作可以模板用于跟踪,默认提供3个模板(2)示例:打开SQLServerProfiler,在菜单栏中选择,文件—新建跟踪在跟踪属性窗口中,进行相应的设置,确定即可在SQLServermanagementstudio窗口中执行语句当跟踪完成后,使用SQLProfiler打开跟踪文件使用数据库引擎优化顾问1.数据库引擎优化顾问介绍在不精通数据库结构和SQLServer的情况下,可以通过数据库引擎优化顾问对数据库负荷提出优化建议,在通过系统管理员的修改,使得数据库达到一个比较优化的状态,使用数据库引擎优化顾问时要求先输入工作负荷文件,工作负荷文件可以是优化的SQL语句或者是SQLProfiler跟踪文件或者数据表,可以在运行引擎优化顾问之前,是有SQLProfiler记录一些事件,然后将跟踪结果存储为文件以供数据库引擎优化顾问使用(2)使用数据库引擎优化顾问优化数据库在SQLServerProfiler中新建跟踪,得到一个文件,称为负荷文件跟踪显示执行的SQL语句打开数据库引擎优化顾问,新建会话,导入刚得到的负荷文件设置负荷文件选择分析的数据库和数据表设置优化选项优化顾问给出建议和建议总结报告数据库性能优化的常见问题1.事务占用资源的时间过长,造成阻塞(1)如何监视事务通过SQLServer活动监视器,监视事务是否被阻塞如果被阻塞,查看那个进程被阻塞分别查看阻塞和被阻塞进程的详细命令查看访问的数据库表和锁记录详细命令和数据对象,并提供给公司开发人员杀掉阻塞的进程(2)工作中常见的情况多表联接查询在查询期间会占用多个表,容易导致锁定事务需要占用太多资源,容易出项多个事务互相占用对方资源的现象,从而导致死锁(3)解决办法避免多表查询SQL语句使用同一规范,特别是访问表的顺序哟啊保持一致对于更新频繁的场合,不允许执行查询操作2.不合理的数据文件设置,影响事务处理的性能当事务处理产生大量数据的时候,数据文件的大小设置不合理导致数据文件不断地扩展,影响事务处理的性能,该如何去做(1)如何监视通过SQLServerDatabase下的文件FvileSeze计数器可以实现,但必须的结合实际情况,需要监视的对象参数如下:数据文件:性能对象(sqlserverdatabases);计数器(datafile(s)size);范例(选择要监视数据库)日志文件:性能对象(sqlserverdatabases);计数器(logfile(s)size);范例(选择要监视数