Performance Monitor是Windows内置的一个可视化监控工具,能够在OS级别上实时记录系统资源的使用情况,通过收集和存储日志数据,在SQL Server发生异常时,能够还原系统当时的资源的使用情况,是对SQL Server进行Troubleshooting的首选工具。Performance Monitor使用Performance Counter来追踪系统的活动状态的测量值,取样间隔默认是15s,即,Performance Monitor每隔15s,记录Performance Counter的当前值。

Performance Monitor主要有两个组件:Viewer和Data Collector,分别用于查看和记录Performance Counter的测量值,开启Performance Monitor对Server的影响很微小,建议开启,多收集一些性能数据。

一,查看Viewer

1,打开 Performance Monitor

点击Windows+R,在Run中输入perfmon,打开Performance Monitor,主要分为三个目录:Monitoring Tools,Data Collector Sets 和 Reports。

2,查看Performance Monitor

Performance Monitor是Viewer,有两种查看模式:View Current Activity 和 View Log Data,前者用于实时监控当前数据,后者用于查看历史数据。

3,图表(Graph),显示计数器的测量值

能够选择时间区间(zoom to),能够选择显示和隐藏指定的Counter,能够缩放(Scale)Counter的值

4,Sample Interval,实时监控可以设置取样间隔和显示的数据长度

Performance Monitor的取样时间间隔由属性 Sample Interval 确定,通过Performance Monitor Properties -> General tab查看取样间隔设置

  • 勾选Sample automatically:自动取样
  • Sample Every  X  seconds:采样的时间间隔
  • Duration X seconds:Viewer显示的时间长度,这是 Real-Time 监控模式下保持数据的最长时间

二,创建Data Collector

Data Collector用于记录Performance Counter的数值,默认存储在C:\PerfLogs 目录下,多个Data Collector的集合就是一个Data Collector Set。

1,创建自定义的Data Collector Set

展开Data Collector Sets,点击User Defined->New->Data Collector Set,输入Name,选择 Create Manually(Advanced),不使用模板,自定义创建。

2,创建数据日志

选择Create Data Logs,并勾选Performance Counter,通过Add按钮添加Performance Counter,默认的Sample Interval是15s。

3,添加Performance Counter

根据监控目的,选择合适的Counter,楼主创建的Data Collector用于监控Disk活动,主要选择以下7个计数器,通过Add按钮添加到右侧面板中。

4,设置Data Collector Set的Stop Condition,使数据文件Size不会超过限制

Windows使用Set来同一管理Data Collector,每个Data Collector的数据单独存储在文件中,如果数据文件过大,在查看时,Viewer加载过程缓慢,建议将Data Collector的数据文件控制在300MB以内。打开指定Data Collector Set的属性,切换到Stop Condition Tab,指定停止收集数据的条件。

Overall duration指定:在一定的时间之后,停止收集数据(stop collecting data after a period of time)

Limits指定:当数据收集满足Duration和Maximum Size条件时,将数据文件分离单独的数据文件。

  • Use limits to segment data collection into separate logs by selecting  When a limit is reached, restart the data collector set.
  • If both limit types are selected, data collection will stop or restart when the first limit is reached.
  • Duration:configure a time period for data collection to write to a single log file.
  • Maximum Size:restart the Data Collector Set or to stop collecting data when the log file reaches the limit.

5,Data Manager,删除旧的无用数据

在Data Collector运行了很长世间之后,Data Collector创建的数据文件可能很大,必须及时将无用的数据清理掉,Data Manger负责清理数据文件。

选中指定的Data Collector Set,右击弹出快捷菜单,打开Data Manager。在Data Manager Tab中设置Maximum root path size=10GB,并勾选Enable Data Manager复选框;在Actions Tab中,增加一个Action,Age:30Days,勾选Delete Data Files,表示将超过30天的数据文件删除。

三,查看Reports,还原计数器在某个历史时间点的测量值

如果设置了Data Collector的Limits属性,将数据文件分段,那么在Disk Activity目录下,能看到多个文件,每个文件的大小不会超过Stop Condtition Tab的限制,楼主的文件大小不超过300MB,每个文件记录数据的时间不会大于6hours。

点击数据文件,Viewer就能自动加载数据,此时,Viewer处于View Log Data模式。

  • 从图表面板,能够查看各个Counter,在特定时间点的测量值;
  • 从时间轴,选中时间区间,右击选中Zoom To,能够缩放图表面板;
  • 从Counter面板,能够显示或隐藏计数器,能对单个计数值按比例缩放(Scale);

四,开启Performance Monitor对Server性能影响很微小

在一个Production Server上,Performance Monitor运行很长一段时间之后,Task Management显示消耗的CPU和内存资源数量很小,如图:

引用《SQL Server 2012 实施与管理实战指南》:

默认的Performance Monitor 是用来Real-Time 检测系统的,在现实的问题分析中,更多的是需要在问题发生之前,开启Performance Counter来收集数据,一段时间之后,或者问题重现之后,通过收集的数据,离线分析问题的现象和原因。

有些DBA会担心,抓这么多Performance Counter会不会影响Server的性能,根据经验,Performance Monitor对系统整体性能的影响几乎感觉不到,所以,可以放心大胆地多收集一些Counter,时间间隔设置默认值 15s 是比较安全的。

如果性能日志文件超过1GB,在View Report时,加载log file会很慢,一般将日志文件的Size的最大值设置为300MB。这可以通过选择“Stop Condition” Tab,勾选 Maximum Size 设置日志文件的最大值为300MB来实现。

Performance Counter是性能监控的测量值,直接关系到监控的数据是否完善和合理,请继续阅读《Performance Monitor2:Peformance Counter》了解常用的计数器。

参考文档:

Windows Performance Monitor

Performance Monitoring Getting Started Guide

Performance Monitor1:开始性能监控的更多相关文章

  1. 使用performance进行网页性能监控

    由于项目需要, 需要对网页的一些性能进行监控, 接触到了performance, window.performance 提供了一组精确的数据,经过简单的计算就能得出一些网页性能数据, 将这些数据存储为 ...

  2. 使用performance进行前端性能监控

    该文章仅作为自己的总结 1.performance.timing对象 navigationStart:当前浏览器窗口的前一个网页关闭,发生unload事件时的Unix毫秒时间戳.如果没有前一个网页,则 ...

  3. Performance --- 前端性能监控

    阅读目录 一:什么是Performance? 二:使用 performance.timing 来计算值 三:前端性能如何优化? 四:Performance中方法 五:使用performane编写小工具 ...

  4. 前端性能监控方案window.performance 调研(转)

    1. 业界案例 目前前端性能监控系统大致为分两类:以GA为代表的代码监控和以webpagetest为代表的工具监控. 代码监控依托于js代码并部署到需监控的页面,手动计算时间差或者使用浏览器的的API ...

  5. Performance — 前端性能监控利器

    Performance是一个做前端性能监控离不开的API,最好在页面完全加载完成之后再使用,因为很多值必须在页面完全加载之后才能得到.最简单的办法是在window.onload事件中读取各种数据. 大 ...

  6. 页面性能监控之performance

    页面性能监测之performance author: @TiffanysBear 最近,需要对业务上的一些性能做一些优化,比如降低首屏时间.减少核心按钮可操作时间等的一些操作:在这之前,需要建立的就是 ...

  7. 浏览器性能监控performance使用

    浏览器中有一个performance的性能监控,平时我也没有用到,接手了一个大数据的项目,发现页面打开的比较慢,使用浏览器的performance分析可以看到各个步骤花费的时间. 关于项目的性能分析如 ...

  8. 借助window.performance实现基本的前端基础性能监控日志

    借助window.performance实现基本的前端基础性能监控日志并二次重写console方法方便日常前端console日志的调试 npm install sn-console

  9. 前端性能监控之performance

    如果我们想要对一个网页进行性能监控,那么使用window.performance是一个比较好的选择. 我们通过window.performance可以获取到用户访问一个页面的每个阶段的精确时间,从而对 ...

随机推荐

  1. C++: Virtual Table and Shared Memory

    See at: 补充栏3: C++对象和共享内存 (叙述内容和Link1的内容基本一致) <C++网络编程 卷1:运用ACE和模式消除复杂性> <C++ Network Progra ...

  2. T-SQL Recipes之Organizing and Archiving Data

    The Problem 当我们处理存档数据或内存数据时,我们想要自定义命名表名,数据库,架构加上日期,时间,或者应用名时,用标准的TSQL来实现是比较困难的. 假设我们有一张日志表,增长速度异常快.但 ...

  3. block 从B界面向A界面传值

    最近在改公司外包项目的代码,发现了一种block传值的用法很有意思,记录一下 A.B两个页面 在B界面.h中定义 @property (nonatomic,strong) void(^block)(N ...

  4. spring动态代理

    接下来我们来体会下动态代理带给我们的便利 package aop006; public interface Girl { public void KFC(String datetime); publi ...

  5. Search a 2D Matrix

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  6. Odoo 二次开发教程(四)-只读、唯一性验证和ORM方法介绍

    一.只读和唯一性验证 只读的设置有两种方法,一种是实在字段定义时设置为只读,第二种是在页面视图中进行设置. 接前例,我们将学生(tech.student)的名字name字段设置成只读. 方法一:字段定 ...

  7. 关于DOM的一些笔记(一)

    这篇文章整理的是关于DOM的一些学习笔记,这样以后查找起来也方便许多.(以前js看的是入门经典和DOM编程艺术,现在在看高级程序设计,本文就以高级程序为主整理) 1.Node (1):类型 node. ...

  8. socket.io安装部署

    需要node.js环境 创建package.json npm init 下载相关依赖 npm install --save express@4.10.2npm会在当前目录下载所需要的依赖到node_m ...

  9. 纯css3 Star

    <style><!--* { box-sizing: border-box; padding: 0px; margin: 0px; } body, html { height: 10 ...

  10. JAVA笔试题集(一)--JAVASE部分

    红色答案为参考答案 1.从下列选项中选择正确的Java表达式(多选) A.  int k=new String("aa");       B.  String str=String ...