对SQLSERVER进行性能监控
对SQLSERVER进行性能监控 在上一篇文章《SQLSERVER性能监控级别步骤》里说到性能监控的步骤中有一步涉及到建立性能基线,但是没有说到有哪些计数器 可以用来进行监控的,这篇文章结合《企业级平台管理实践》的书本说一下监控SQLSERVER有哪些计数器可以用到的
对SQLSERVER进行性能监控
在上一篇文章《SQLSERVER性能监控级别步骤》里说到性能监控的步骤中有一步涉及到建立性能基线,但是没有说到有哪些计数器
可以用来进行监控的,这篇文章结合《企业级平台管理实践》的书本说一下监控SQLSERVER有哪些计数器可以用到的
3、建立性能基线
当确定了性能监控中所涉及的资源、负载和目标后,开始进行监控,并建立性能基线与当前服务器性能进行比较。
性能基线是一个保证系统正常操作性能范围值,达到或超过这个范围,系统性能可能会显著下降。
应该对接近或超过性能基线的数字做进一步调查找出原因监控的周期是一段时间,而不是一两天。
其中应该包括数据库活动的峰值时间和非峰值时间,数据查询和批处理命令的响应时间、数据库备份和还原所需时间
建立服务器性能基线后,将基线统计与当前服务器性能进行比较。对高于或远低于基线的数字需要做进一步调查。
他们可能表明有需要调整或重新配置的区域。例如,执行一组查询的时间增加,检查这些查询以确定能否重新编写他们,
或者是否添加统计信息或索引
介绍:
性能监视器 Performance Monitor
性能监视器是Windows的一个工具,在系统管理工具组里。默认里面就有很多Windows层面的性能计数器,可以监视系统的运行。
直接运行"perfmon",也可以打开他。这里以 WindowsXP/2003/2008的性能监视器为例。
Windows2008R2和Windows7的性能监视器界面有了比较大的变化,功能也有扩展,更加好用。同时也完全向前兼容。
后面谈到的功能都有包括
SQLSERVER自己开发了一些扩展的性能计数器。在安装SQLSERVER的时候,会注册到Windows里。
这样, Windows的性能监视器就能看到一些以“SQL”打头的计数器了。SQLSERVER在运行时,会统计这些计数器的值。
在性能监视器里能够看到:
默认性能监视器是用来实时检测系统的,在窗口里,用不同颜色的线条表示不同的计数器值。
当窗口画满以后,会从头覆盖前面的内容。所以默认只能看到最近一小段时间的值。
但是在现实的问题分析中,香港虚拟主机,实时监测还是比较少的。更常见的场景是需要在问题发生之前,就要开启性能计数器的收集,
收集一段时间之后,或者问题重现之后,再离线地分析问题的现象和原因。
那么日志怎样收集呢?
通常可以使用下面这些步骤:
(1)在性能监视器左边的窗口,展开性能 日志和警告子树,点击“计数器日志” 在右边的窗口里,右键点击,
选择“新 日志设置”,他会弹出一个对话框,让你为新的日志记录配置命名。这里我们取名为Test,日志默认保存路径是
%systemdrive%\PerfLogs\Admin\Test
(2)在接着弹出的对话框里,就可以配置DBA要搜集的信息要求了。首先要选择搜集哪些计数器,以及他们的取样时间间隔sample data every,
默认是15秒取一次,这个间隔能够满足大部分需求。
有说法讲在搜集和磁盘相关的性能日志时,间隔要设置短一点,最好是3到5秒。如果设置30秒以上,可能信息就不完整了。
所以15秒是大部分情况下比较好的选择
(3)选择添加对象,就可以选择要收集的性能监视器对象。对于非在线分析,问题可能还不清楚,很难确定哪些性能计数器有用,哪些没有用。
所以在这里,一定要多选一些。一般的SQL问题,可以选择下面这些对象
在memory,process,physicaldisk,processor,system对象下的所有计数器,以及他们的所有instance
所有以SQLSERVER:开头的性能监视对象
如果要监视CPU类问题,最好还包含thread下面的所有计数器,以及他所有的instance
有些DBA会担心,抓这麽多计数器会不会影响性能。
应该说根据经验,性能监视器对系统整体性能的影响几乎感觉不到。所以可以比较放心大胆地多收一些计数器。
基本工作原理是在.NET编译出的IL代码里放入钩子用来记录时间,然后通过直观的界面显示出哪部分代码耗能最大。
只是间隔可能还是选15秒比较安全
(4)设置文件的位置和最大大小 ,另一个重要配置,是日志文件存放在哪里,保存格式,以及最大大小。
日志文件的后缀是blg的二进制文件,需要使用性能监视器才能打开这个文件
如果性能日志文件大小超过1GB,可能有些机器打开会很慢。所以一定要注意其最大值可以设为200MB。
如果一个200MB的文件写满,性能监视器会自动创建一个新的。文件格式可以选二进制文件
日志搜集当然可以手动开始和终止。但是如果问题会发生在半夜,最好能让系统自动开启,自动关闭。性能监视器也可以帮DBA做到这一点
当得到一个性能日志后,可以在性能监视器里选择 查看 日志 数据
在数据源里添加日志文件
然后点击数据选项卡,就能看到在原来那台服务器上收集的性能计数器了
这时候再点击“源”选项卡,能看见性能日志文件所包含的那段时间。拉动滚动条,免备案空间,可以把时间段缩短到DBA最关心的那段时间
对收集到的日志,DBA可以进行分析
---------------------------------------华丽的分割线----------------------------------------------------------------------
一些性能监视器计数器
相关计数器
上一篇: Xdebug安装
推荐阅读
-
根据status 对mysql进行性能优化_MySQL
-
利用Prometheus与Grafana对Mysql服务器的性能监控详解
-
ASP.NET技巧:同时对多个文件进行大量写操作对性能优化
-
Windows下使用性能监视器监控SqlServer的常见指标
-
编写Go程序对Nginx服务器进行性能测试的方法
-
使用Python脚本对Linux服务器进行监控的教程
-
对Nginx支持SSL的性能进行优化的方法
-
sqlserver使用hibernate对中文数字进行排序
-
利用Prometheus与Grafana对Mysql服务器的性能监控详解
-
SQLSERVER 2005中使用sql语句对xml文件和其数据的进行操作(很全面)