《系统监视与性能处理.ppt》由会员分享,可在线阅读,更多相关《系统监视与性能处理.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、BENET3.0BENET3.0BENET3.0第二学期课程第二学期课程第二学期课程第四章第四章第四章第四章 系统监视与性能调优系统监视与性能调优系统监视与性能调优系统监视与性能调优 理论部分理论部分课程回顾课程回顾理解索引的作用和分类理解索引的作用和分类会正确使用索引来提高查询效率会正确使用索引来提高查询效率会通过查看执行计划分析查询效率会通过查看执行计划分析查询效率技能展示技能展示会使用会使用Windows系统监视器监视系统性能系统监视器监视系统性能会使用会使用SQL Profiler监视监视SQL Server性能性能掌握掌握SQL Server的性能优化原则的性能优化原则掌握数据库引擎
2、优化顾问优化数据库的方法掌握数据库引擎优化顾问优化数据库的方法本章结构本章结构系统监视与性能调优系统监视与性能调优性能监视过程性能监视过程SQL性能监视性能监视数据库性能优化常见问题数据库性能优化常见问题SQL活动监视器活动监视器系统监视器系统监视器SQL Server Profiler使用数据库引擎优化顾问使用数据库引擎优化顾问数据库引擎优化顾问介绍数据库引擎优化顾问介绍引擎优化顾问优化数据库引擎优化顾问优化数据库性能监视过程性能监视过程性能监视的作用性能监视的作用收集问题发生的信息收集问题发生的信息通过通过SQLSQL活动监视器活动监视器判断活动状态判断活动状态监视对象发现监视对象发现问题
3、问题:(:(磁盘、内存、磁盘、内存、CPU)CPU)根据任务需求增根据任务需求增加更细致的计数加更细致的计数器来实施监视器来实施监视分析原因,调整配置分析原因,调整配置循环执行第循环执行第2 2步步,监视监视再优化,直到完成再优化,直到完成DBA排除数据库性能低的解决思路排除数据库性能低的解决思路活动监视器介绍活动监视器介绍查看活动状态查看活动状态属属 性性说说 明明Database进程当前访问的数据库进程当前访问的数据库Status进程当前的状态进程当前的状态Open Transactions进程打开的事务数量进程打开的事务数量Command当前正在执行的命令当前正在执行的命令Applica
4、tion进程使用的应用程序名进程使用的应用程序名Wait Time等待时间等待时间Wait Type等待类型等待类型Resource 代表一个被锁定的资源代表一个被锁定的资源 活动的常见相关信息活动的常见相关信息查看活动运行的命令查看活动运行的命令使用活动监视器使用活动监视器教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程系统监视器介绍系统监视器介绍查看系统和查看系统和SQL Server性能性能对象对象p如硬盘、进程、SQL Server实例计数器计数器p用于收集所要监视对象的某方面信息 实例实例p一些对象会有多个实例性能对象性能对象2-1SQ
5、L Server 性能对象性能对象 Buffer Manager p提供有关 SQL Server 使用的内存缓冲区的信息 Databases p提供有关 SQL Server 数据库的信息 General Statistics p提供有关服务器范围内的常规活动的信息 Memory Manager p提供有关 SQL Server 内存使用量的信息 性能对象性能对象2-2系统性能对象系统性能对象 CPUpProcessor-%Processor Time pProcess-%Processor Time内存内存pMemory-Pages/sec硬盘硬盘p%Disk Time pAvg.Disk
6、 Queue Length使用性能监视器使用性能监视器2-1案例需求:使用性能监视器监视案例需求:使用性能监视器监视SQL Server数据数据库中库中Tariffsmall数据库的性能数据库的性能实施思路:通过性能监视器监视数据库性能实施思路:通过性能监视器监视数据库性能 教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程使用性能监视器使用性能监视器2-2案例需求:当问题难以判断,需要跟踪监视的时案例需求:当问题难以判断,需要跟踪监视的时间范围比较长才能捕获问题,这个时侯需要设置间范围比较长才能捕获问题,这个时侯需要设置查看的时间范围和计数器显示
7、线型。查看的时间范围和计数器显示线型。实施思路:设置计数器保存到文件。实施思路:设置计数器保存到文件。教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程SQL Server Profiler 跟踪跟踪SQL Server和数据库的活动和数据库的活动 创建基于可重用模板的跟踪创建基于可重用模板的跟踪当跟踪运行时监视跟踪结果当跟踪运行时监视跟踪结果将跟踪结果保存在表中将跟踪结果保存在表中根据需要启动、停止、暂停和修改跟踪结果根据需要启动、停止、暂停和修改跟踪结果重播跟踪结果重播跟踪结果事事 件件通过通过 SQL Server Profiler来监视感兴
8、趣的事件来监视感兴趣的事件执行查询的性能执行查询的性能单个用户或应用程序的活动单个用户或应用程序的活动登录的尝试、失败、连接、断开登录的尝试、失败、连接、断开逻辑磁盘的读逻辑磁盘的读/写写在语句级别的在语句级别的CPU占用占用事事 件件 类类事件类事件类事件事件说明说明Security Audit Audit Login 一个用户成功的登录到一个用户成功的登录到SQL ServerAudit Logout 一个用户退出一个用户退出 SQL ServerSessions ExistingConnection 当跟踪开始时已存在用户连接的属性当跟踪开始时已存在用户连接的属性 Stored Proc
9、edures RPC:completed 一个远程过程调用完成一个远程过程调用完成 T-SQLSQL:BatchCompleted 一个一个Transact-SQL 批处理完成批处理完成 SQL:BatchStarting 一个一个 Transact-SQL批处理开始批处理开始 默认的事件类默认的事件类使用使用SQL Server Profiler教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程小结小结请思考请思考:简单描述一下简单描述一下SQL Server性能监视的过程性能监视的过程如果如果SQL Server性能器监视到的性能器监视到的SQ
10、L活动状态为活动状态为running或或sleeping,那么分别代表什么意思?那么分别代表什么意思?Avg.Disk Queue Length是用来监视是用来监视SQL Server数据数据库中库中哪个对象的参数哪个对象的参数?SQL Server Profiler的作用是什么?如果希望跟踪用的作用是什么?如果希望跟踪用户成功登录到户成功登录到SQL的行为,应该选择哪个事件类的行为,应该选择哪个事件类?数据库引擎优化顾问介绍数据库引擎优化顾问介绍数据库引擎优化顾问的作用数据库引擎优化顾问的作用使用数据库引擎优化顾问可以在不精通数据库结构和使用数据库引擎优化顾问可以在不精通数据库结构和SQL
11、Server的情况下,通过数据库引擎优化顾问对数的情况下,通过数据库引擎优化顾问对数据库负荷测试提出优化建议,再通过系统管理员的修据库负荷测试提出优化建议,再通过系统管理员的修改,使得数据库达到一个比较优化的状态。改,使得数据库达到一个比较优化的状态。使用数据库引擎优化顾问优化数据库使用数据库引擎优化顾问优化数据库案例需求:案例需求:由于数据量庞大由于数据量庞大,公司要求公司要求DBA使用使用数数据库据库引擎顾问优化电信计费工作中的查询通话记录引擎顾问优化电信计费工作中的查询通话记录操作操作需求分析:需求分析:对数据库对数据库Tariffsmall上的历史通话记录表上的历史通话记录表”hist
12、ory-call”经常按电话号码查询客户的历史通话记录。经常按电话号码查询客户的历史通话记录。实现思路:实现思路:准备工作要事先附加上数据库准备工作要事先附加上数据库tariffsmall跟踪跟踪SQL 语句执行,并保存到跟踪文件中语句执行,并保存到跟踪文件中使用优化顾问分析跟踪文件,并实施优化顾问提供的改使用优化顾问分析跟踪文件,并实施优化顾问提供的改进建议进建议教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程教员演示操作过程数据库性能优化常见问题数据库性能优化常见问题事务占用资源时间过长,造成阻塞主要特性事务占用资源时间过长,造成阻塞主要特性不合理数据文件设
13、置,影响事务处理性能不合理数据文件设置,影响事务处理性能磁盘数据组织不合理,使磁盘访问次数过多磁盘数据组织不合理,使磁盘访问次数过多批量导入数据的时候,要进行特殊设置批量导入数据的时候,要进行特殊设置事务占用资源时间过长,造成阻塞事务占用资源时间过长,造成阻塞案例需求案例需求:由于用户执行数据库操作时,产生了大由于用户执行数据库操作时,产生了大量的事务,导致占用资源时间过长,造成阻塞,量的事务,导致占用资源时间过长,造成阻塞,降低了数据库执行的效率。降低了数据库执行的效率。常见解决办法:常见解决办法:避免一次连接过多表查询避免一次连接过多表查询SQL语句使用统一规范语句使用统一规范,特别是访问
14、表顺序保持一致特别是访问表顺序保持一致 对于更新频繁场合,不允许执行查询操作对于更新频繁场合,不允许执行查询操作 不合理数据文件设置,影响事务性能不合理数据文件设置,影响事务性能案例需求案例需求:当事务处理产生大量数据的时候,数当事务处理产生大量数据的时候,数据文件大小设置不合理导致数据文件不断的扩展据文件大小设置不合理导致数据文件不断的扩展而影响到事务处理的性能而影响到事务处理的性能.该如何去做?该如何去做?常见解决办法:常见解决办法:常见的文件大小设置不合理需要关注的情况常见的文件大小设置不合理需要关注的情况不要设置数据文件的自动收缩不要设置数据文件的自动收缩 数据组织不合理,使磁盘访问次
15、数过多数据组织不合理,使磁盘访问次数过多案例需求:案例需求:Tariffsmall数据库中包含数据库中包含A、B两张表两张表且需要查询且需要查询A表和表和B表里的数据。两张表分别存放表里的数据。两张表分别存放在不同的磁盘中。这样做的问题是什么?该如何在不同的磁盘中。这样做的问题是什么?该如何做来提高效率?做来提高效率?常见解决办法:常见解决办法:经常写的数据放置在不同的磁盘上经常写的数据放置在不同的磁盘上 经常在一起被多表查询的表放在同一个文件组上经常在一起被多表查询的表放在同一个文件组上将事务日志创建在物理上单独的磁盘或将事务日志创建在物理上单独的磁盘或 RAID将将 tempdb 放在快速
16、放在快速 I/O 子系统上以确保好性能子系统上以确保好性能使用使用DBCC PINTABLE将关键表常驻内存将关键表常驻内存 批量导入数据的时候,要进行特殊设置批量导入数据的时候,要进行特殊设置案例需求:当用户试图大批量导入数据时案例需求:当用户试图大批量导入数据时,会突然会突然增加很多日志记录,并且如果数据表上有索引,增加很多日志记录,并且如果数据表上有索引,数据表每增加一条记录会在索引上也增加一条记数据表每增加一条记录会在索引上也增加一条记录,降低插入性能。录,降低插入性能。常见解决办法:常见解决办法:大批量导入数据的时候,设置数据库的恢复模式为大批量导入数据的时候,设置数据库的恢复模式为
17、“大容量日志恢复模式大容量日志恢复模式”导入前将索引禁用,当数据导入完毕后,再将索引重导入前将索引禁用,当数据导入完毕后,再将索引重建。建。BENET3.0BENET3.0BENET3.0第二学期课程第二学期课程第二学期课程第四章第四章第四章第四章 系统监视与性能调优系统监视与性能调优系统监视与性能调优系统监视与性能调优 上机部分上机部分实验案例实验案例1:建立监视并跟踪记录到文件:建立监视并跟踪记录到文件需求描述:需求描述:电信公司服务器的默认实例中已经建立了一个数据库电信公司服务器的默认实例中已经建立了一个数据库Tariffsmall,现需要在该数据库上进行性能监视和调,现需要在该数据库上
18、进行性能监视和调优的工作优的工作p建立正确的监视计数器来监视数据库服务器p监视查询语句运行时数据库的状态和计数器的运行情况实验案例实验案例1:建立监视并跟踪记录到文件:建立监视并跟踪记录到文件实现思路:实现思路:准备监视工具进行监视准备监视工具进行监视根据要求建立对应的监视计数器和存放文件的目录根据要求建立对应的监视计数器和存放文件的目录启动监视计数器,跟踪运行情况。启动监视计数器,跟踪运行情况。在运行脚本程序后查看进程的状态在运行脚本程序后查看进程的状态结束运行程序,并查看监视计数器的情况结束运行程序,并查看监视计数器的情况实验案例实验案例1:建立监视并建立跟踪到文件:建立监视并建立跟踪到文
19、件学员练习:学员练习:打开打开SQL Server活动监视器,准备监视活动监视器,准备监视通过系统监视器添加计数器通过系统监视器添加计数器MoniTariffAll,设置监视器设置监视器日志文件为日志文件为D:MoniTariffAll启动监视计数器启动监视计数器MoniTariffAll,开始跟踪截图开始跟踪截图运行脚本运行脚本lab1.sql在在SQL Server活动监视器里查看进程状态活动监视器里查看进程状态 打开监视计数器,查看计数器情况(程序运行结束后,打开监视计数器,查看计数器情况(程序运行结束后,滞后滞后5分钟停止监视计数器)分钟停止监视计数器)4040分钟内完成分钟内完成实验
20、案例实验案例2:分析监视文件的运行结果:分析监视文件的运行结果需求描述:需求描述:电信公司服务器的默认实例中已经建立了一个数据库电信公司服务器的默认实例中已经建立了一个数据库Tariffsmall,现需要在该数据库上进行性能监视和调,现需要在该数据库上进行性能监视和调优的工作优的工作p提供素材里的监视跟踪文件MoniTariffAllp分析教材中提供的代码运行后的监视结果,并说明数据库的变化和原因实验案例实验案例2:分析监视文件的运行结果:分析监视文件的运行结果实现思路:实现思路:打开监视器的计数文件,查看计数器的情况打开监视器的计数文件,查看计数器的情况分析监视的结果,主要是分析计数器的变化
21、情况分析监视的结果,主要是分析计数器的变化情况通过对数据库的观察,找出数据库的变化情况和原因通过对数据库的观察,找出数据库的变化情况和原因实验案例实验案例2:分析监视文件的运行结果:分析监视文件的运行结果学员练习:学员练习:打开监视器的计数器文件,查看计数器的情况。打开监视器的计数器文件,查看计数器的情况。(如果如果看不清或没有看到,可删除不想看的计数器,添加想看不清或没有看到,可删除不想看的计数器,添加想看的计数器看的计数器)观察监视的结果并分析每个计数器的平均值,最大、观察监视的结果并分析每个计数器的平均值,最大、最小值是否有异常情况最小值是否有异常情况观察整个程序观察整个程序(lab1.
22、sql)运行的最终数据,并说明数据运行的最终数据,并说明数据库的变化和原因库的变化和原因2525分钟内完成分钟内完成实验案例实验案例3:使用:使用SQL Profiler优化系统优化系统需求描述:需求描述:电信公司服务器的默认实例中已经建立了一个数据库电信公司服务器的默认实例中已经建立了一个数据库Tariffsmall,现需要在该数据库上进行性能监视和调,现需要在该数据库上进行性能监视和调优的工作优的工作p公司运行程序代码测试数据库工作状态,以便实施优化工作p根据教材中讲解的内容给出相应的优化方案实验案例实验案例3:使用:使用SQL Profiler优化系统优化系统实现思路:实现思路:建立跟踪
23、文件保存跟踪信息建立跟踪文件保存跟踪信息反复运行程序文件,得到跟踪文件信息反复运行程序文件,得到跟踪文件信息对跟踪文件进行优化工作,并记录追踪结果对跟踪文件进行优化工作,并记录追踪结果根据优化工作提示结果得出最优方案并记录、提交根据优化工作提示结果得出最优方案并记录、提交实验案例实验案例3:使用:使用SQL Profiler优化系统优化系统学员练习:学员练习:使用使用SQL Profiler建立跟踪文件建立跟踪文件TraceTariffsmall(使(使用用Stardand标准模板)标准模板)反复运行多次教材中提供的脚本,得到跟踪文件反复运行多次教材中提供的脚本,得到跟踪文件TraceTariffsmall使用数据库优化顾问优化使用数据库优化顾问优化accountbill和和historyaccountbill表,并记录追踪结果表,并记录追踪结果根据提示的结果,得到优化方案,并记录下来,以文根据提示的结果,得到优化方案,并记录下来,以文档的方式提交档的方式提交1515分钟内完成分钟内完成