第21/24周 性能监控(PAL工具)
大家好,欢迎来到性能调优培训的最后一个月。在过去的5个月里,我们谈了SQL Server的各种性能相关的话题,包括性能调优的技术和问题。
但当在你面前,SQL Server没有按你预想的运行时,你会怎么办?为了帮你处理这个情况,今天我们会谈到下性能监控技术,下周我们会详细谈到SQL Server里所谓的等待统计(Wait Statistics)。现在开始我们的性能监控。
让我们建立一个基线!
很多人坐在他们的SQL Server前,知道它的性能非常差,却不知道如何找出潜在的根源,也不知道如何解决它。对这个问题,我的答案非常简单:监控并收集当前情况的信息,和你的基线(baseline)比较,识别出最突出的性能瓶颈。是的,你没听错:你需要建立基线来识别性能问题,不然的话就是在瞎猜。下图显示了在建立的基线上,在SQL Server里,一个非常简单的识别并解决性能问题的方法。

这个方法的思路非常简单。在第1步里你需要收集一些SQL Server的关键指标。这些关键指标作为你的初始基线。在下一部分我会谈下你应该收集的关键指标。在你建立了你的基线后,你可以开始在抓取的数据里识别最常见的性能问题。在下一部分你会看到,有一些免费的工具,可以用它来自动完成这个操作。
最后,你一次只做一个修改来解决识别出来的性能问题。你没有看错:对你要解决的识别出来的性能问题,你应该只应用一个修改到你的SQL Server。如果一次修改太多,你就不能确认,哪个修改解决了你的性能问题,还有哪个修改损害了你的性能。这对性能故障排除非常重要!
在你应用你的改变后,你可以再次测试下你的关键指标,和你建立的基线来验证下你的修改是好还是坏。在这一步你收集的心的关键指标,可以作为你新的基线。很简单,是不是?唯一你要意识到的是你要定义一个放行准则(exit criteria)。在SQL Server里,你可以反复通过这个循环。因此你要定义对于你的SQL Server,什么时候的性能才是“足够好”。
收集关键指标
当我们讨论建立基线时,总会有个问题,你应该包含哪些关键指标?对于SQL Server,有太多不同的相关性能计数器,SQL Server本身也对它的健康状况提供很多相关数据的不同DMV。因为不想让事情变得复杂,在第一步我只抓取一些东西来获得SQL Server健康状态的大致情况。
- 一些特定的SQL Server性能相关的计数器
- 等待统计(Wait Statistics)
- I/O延迟统计信息(I/O Latency Statistics)
现在我想谈下这些性能相关的计数器,下周我们会详细谈下等待统计和I/O延迟统计信息。为SQL Server抓取相关的性能计数器非常简单:你使用微软提供的免费工具PAL。
PAL工具为SQL Server提供专门的模板,在模板里你可以找到针对SQL Server的所有相关的性能计数器。可以通过设定新的所谓的数据收集(Data Collection)来直接导入模板文件到Windows性能监视器。因此你可以在1分钟内就可以配置好SQL Server相关的性能计数器!
PAL工具另一个优点是:用它你可以自动分析Windows性能监视器抓取的.blg文件。作为输出,你会得到一个很大的HTML报表,告诉你在哪方面你可能有性能问题。下图来自这个报表的简单图例。

当我进行性能调优时,第一步总是配置Windows性能监控数据收集,然后我会对它分析好几个小时。专注于分析,把力气花在这上面是个非常好的想法。
小结
今天我们详细谈了针对可能的性能问题,你如何监控你的SQL Server。这里最重要的一点是你要建立一个基线的事实。有了基线,就很容易判断部署的修改是好还是坏。没有基线,你只能瞎猜修改是不是有用的,还是没用的。
在第2部分我们介绍了微软提供的免费工具PAL。使用PAL工具很容易在Windows性能监视器里配置一个数据收集,用来抓取SQL Server性能相关的计数器。另外你也可以用这个工具来自动分析抓取的性能计数器。下周我们会详细看下SQL Server里等待和I/O延迟统计信息。
请继续关注!
围观PPT:
第21/24周 性能监控(PAL工具)的更多相关文章
- Zynga 开源其服务器性能监控分析工具 zPerfmon
流年不利的社交游戏服务商Zynga近日在官方博客宣布开源zPerfmon——该工具负责监控Zynga数以千计的社交游戏服务器.zPerfmon的源代码目前已经上传至Github. 包括Facebook ...
- linux ---性能监控(工具)
linux服务器性能监控-nmon Nmon 是一个分析aix和linux性能的免费工具,出自IBM,其采集的数据通过nmon_analyser生成报表 一.下载 官网下载地址 百度网盘 二.运行和使 ...
- Windows性能监控perfmon工具的使用和性能指标的分析
Windows性能监控工具perfmon的使用和性能指标分析 一.perfmon提供图表化的实时的性能监视器.性能日志.警报管理,能监控CPU的使用率.内存使用率.磁盘I/O(磁盘的读写速度).网络I ...
- 【性能监控-Perfmon工具】Perfmon工具使用教程
一.Perfmon工具简介 Perfmon是一款Windows自带的性能监控工具,提供了图表化的系统性能实时监视器.性能日志和警报管理.通过添加性能计数器可以实现对CPU.内存.网络.磁盘.进程等多类 ...
- MiniProfiler性能监控分析工具在.NET项目中的使用
MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序.可以对一个页面本身,及该页面通过直接引用.Ajax.Iframe形式访问的其它页面进行监控 ...
- 开源性能监控分析工具glowroot
最近在做java性能瓶颈定位分析工具的研究,发现glowroot工具是一款相当不错的APM工具(Wonderful tool),架构简洁,部署简单,上手容易. 经过亲身搭建体验,总结了产品的架构,工具 ...
- 【性能监控-Perfmon工具】手动添加数据收集器,点击保存时需要输入用户NT AUTHORITY\SYSTEM的密码问题
发现是有的电脑会弹出这种输入用户NT AUTHORITY\SYSTEM密码的现象,有的电脑不会弹出这个对话框.......仍然没搞懂是为什么? 关键是输入windows用户登录时的密码也不对!!压根不 ...
- Go pprof性能监控
Go net/http/pprof包提供了一个在WEB项目中使用的性能监控的工具, 使用时只需要引用包: _"net/http/pprof" 然后就可以在浏览器中访问地址: htt ...
- .Net Core 2.*+ InfluxDB+Grafana+App Metrics实时性能监控
前言 .net core 2.* 实施性能监控 这个工具其实给运维 大大们用起来是更爽的.但是Grafana现在还没有找到中文版. 本文需要了解的相关技术与内容: InfluxDb(分布式时序数据库, ...
随机推荐
- 介绍Oedis - Redis OH/RM
作死造轮子 Oedis是近段时间为了解决日志型数据如何与Entity Framework的查询整合的问题写的一个Redis的OH /RM.虽然Redis出来蛮久了,各路高手也都提出了实践方案,但是或许 ...
- 微软颜龄Windows Phone版开发小记
随着微软颜龄中文网cn.how-old.net的上线,她也顺势来到了3大移动平台. 用户在微软颜龄这一应用中选择一张包含若干人脸的照片,就可以通过云计算得到他们的性别和年龄. 今天我们就和大家分享一下 ...
- 【C语言学习】《C Primer Plus》第7章 C控制语句:分支与跳转
学习总结 1.if…else…从语义上看就能出用途,跟其他语言没差多少,只需要记住,世界上最遥远的距离之一:我走if你却走else. 2.根据个人几年的编程经验,太多的if…else…嵌套会加大代码的 ...
- 浅析Ajax跨域原理及JQuery中的实现分析
AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新.但是出于安全的考虑,ajax不允许跨域通信.如果尝试从不同的域请求数据,就会出现错误.如果能控制数据驻留的远程服务器 ...
- 如何设计一门语言(八)——异步编程和CPS变换
关于这个话题,其实在(六)里面已经讨论了一半了.学过Haskell的都知道,这个世界上很多东西都可以用monad和comonad来把一些复杂的代码给抽象成简单的.一看就懂的形式.他们的区别,就像用js ...
- java线程与并发(二)
一般而言,线程通常有以下的这么几个状态: 创建状态:准备好了一个多线程操作对象 就绪状态:调用了start()方法,等待CPU调度 运行状态:执行run()方法,正在运行 阻塞状态:暂时停止执行,把资 ...
- redis中使用java脚本实现分布式锁
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/115.html?1455860390 edis被大量用在分布式的环境中,自 ...
- JS checkbox 全选 全不选
/* JS checkbox 全选 全不选 Html中checkbox: <input type="checkbox" name="cbx" value= ...
- G2 DT时代的图形语法 正式发布
G2有一个高大上的名字叫做:The Grammar Of Graphics——图形语法.它是一个强大的语义化图表生成工具,它提供了一整套图形语法,可以让用户通过简单的语法搭建出无数种图表,并且集成了大 ...
- 彻底理解跨域解决方案JSONP
什么是同源策略? 同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略. 所谓同源是指,域名,协议,端口相同.当一个浏览器的两个tab页 ...