Windows性能计数器(用于监控系统和sql server)

Windows性能计数器(用于监控系统和sql server)

进入:单击开始,单击运行,键入 perfmon,然后按 ENTER 键或单击确定,进入性能控制台。这里包括系统监视器(系统计时器实时监控)、性能和警报(计数日志、跟踪日志、警报)。

 1、保存为二进制文

     可通过命令 relog 将二进制文件转化为格式的文件。具体 relog /?查看。

2、保存为带间隔符的文本文件

      这个可直接查看,也可导入到数据。导入脚本如下:

     select * into Perflog from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Text;HDR=NO;DATABASE=c:/perflogs/',counters#CSV)

3、日志直接保存到数据库中

创建数据源名称 (DSN)

1. 单击开始,指向设置,单击控制面板,然后双击管理工具。

2. 双击数据源 (ODBC),单击系统 DSN 选项卡,然后单击添加。

3. 双击SQLServer,为该 DSN 键入名称。

4. 单击运行数据库所在的SQLServer 的计算机,然后单击下一步。

5. 单击使用网络登录 ID Windows NT 身份验证,然后单击下一步。

6. 更改默认的数据库为你保存日志的数据库。

7. 单击确定接受默认设置,然后单击完成。

8. 单击数据源,成功。

日志配置

1.  选择“性能日志和警报计数器日志”,右键单击“计数器日志”,然后单击新建日志设置

2.  为该日志键入一个名称,然后单击确定。

3.  单击添加对象添加要记录的对象,然后单击添加。

4.  输入要监视的计数器,然后单击关闭。

5.  单击日志文件选项卡,在日志文件类型列表中单击SQL数据库,然后单击配置。

6.  在系统 DSN 框中,单击要连接到的 DSN。如果要重命名该日志组,则在日志组名称框中键入新名称。

7.  单击确定,然后单击应用。

此时启动新建的日志,会提示无法启动,需要进行如下设置:日志属性常规选项卡中,运行方式需要进行设定,设置上用户名、密码。(该用户必须同时属于用户组“Performance Log Users”和“SQLServerMSSQLUser$主机名$MSSQLSERVER”, 或者直接属于administrators)

 

以下为监控项示例:(sqlserver监控项的解释,可参见“使用 SQL Server 对象”: http://technet.microsoft.com/zh-cn/library/ms190382(SQL.90).aspx

 

Monitor_CPU_to_DB   CPU使用率监控, 写入数据库   30
CPU
使用率Processor  % Processor Time

 

Monitor_Others_to_DB  其它监控,写入数据库  5分钟
虚拟内存:   Paging File : % user age
网卡等待,  SQLServer: Wait statistic:  network io : 平均等待时间
IO
等待      SQLServer: Wait statistic:  Page IO latch waits : 平均等待时间
磁盘:       PhysiscalDisk        % Disk Time,    Avg. Disk Bytes/Transfer,   
错误数:     SQLServer: SQL error:  _Total
缓存命中率:  SQLServer: SQL Server Buffer Manager : Buffer Cache Hit Ratio
每秒收到的Transact-SQL命令批数,每秒编译数,每秒重编译数:   SQL Server:SQL Statistics: Batch Requests/sec , SQL Compilations/sec, SQL Re-Compilations/sec

 

 

 

性能计数器:

 

 

Performance Object

Counter

Description

Processor

%processor Time

指处理器执行非闲置线程时间的百分比,测量处理器繁忙的时间 这个计数器设计成用来作为处理器活动的主要指示器,可以选择单个CPU实例,也可以选择Total

Interrupts/sec

处理器正在处理的来自应用程序或硬件的中断的数量

PhysicalDisk

% Disk Time

计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查 PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列 (RAID) 设备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。

可以使用 Current Disk Queue Length % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length % Disk Time 计数器的值一直很高,则考虑下列事项:

1.使用速度更快的磁盘驱动器。

2.将某些文件移至其他磁盘或服务器。

3.如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。

计数器监视磁盘忙于读/写活动所用时间的百分比.在系统监视器中,PhysicalDisk: % Disk Time 计数器监视磁盘忙于读/写活动所用时间的百分比。
如果 PhysicalDisk: % Disk Time 计数器的值较高(大于 90%),请检查 PhysicalDisk: Current Disk Queue Length 计数器了解等待进行磁
盘访问的系统请求数量。等待 I/O 请求的数量应该保持在不超过组成物理磁盘的轴数的 1.5 2 倍。大多数磁盘只有一个轴,但独立磁盘冗余阵列
(RAID)
设备通常有多个轴。硬件 RAID 设备在系统监视器中显示为一个物理磁盘。通过软件创建的多个 RAID 设备在系统监视器中显示为多个实例。
可以使用 Current Disk Queue Length % Disk Time 计数器的值检测磁盘子系统中的瓶颈。如果 Current Disk Queue Length % Disk Time 计数器的值一直很高,则考虑下列事项:
1.
使用速度更快的磁盘驱动器。
2.
将某些文件移至其他磁盘或服务器。
3.
如果正在使用一个 RAID 阵列,则在该阵列中添加磁盘。

Avg.Disk Queue Length

指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数

Current Disk Queue Length

指示被挂起的磁盘 I/O 请求的数量。如果这个值始终高于 2,就表示产生了拥塞

Avg.Disk Bytes/Transfer

写入或读取操作时向磁盘传送或从磁盘传出字节的平均数

Disk Bytes/sec

在读写操作中,从磁盘传出或传送到磁盘的字节速率

Memory

Pages/sec

被请求页面的数量.

Available Bytes

可用物理内存的数量

Committed Bytes

已分配给物理 RAM 用于存储或分配给页面文件的虚拟内存

Pool Nonpaged Bytes

未分页池系统内存区域中的 RAM 数量

Page Faults/sec

是每秒钟出错页面的平均数量

Network Interface

Bytes Received/sec

使用本网络适配器接收的字节数

Bytes Sent/sec

使用本网络适配器发送的字节数

Bytes Total/sec

使用本网络适配器发送和接收的字节数

Server

Bytes Received/sec

把此计数器与网络适配器的总带宽相比较,确定网络连接是否产生瓶颈

SQL Server Access Methods

Page Splits/sec

每秒由于索引页溢出而发生的页拆分数.如果发现页分裂的次数很多,考虑提高Index的填充因子.数据页将会有更多的空间保留用于做数据的填充,从而减少页拆分

Pages Allocated/sec

在此 SQL Server 实例的所有数据库中每秒分配的页数。这些页包括从混合区和统一区中分配的页

Full Scans/sec

每秒不受限制的完全扫描数. 这些扫描可以是基表扫描,也可以是全文索引扫描

SQL Server: SQL Statistics

Batch Requests/Sec

每秒收到的 Transact-SQL 命令批数。这一统计信息受所有约束(如 I/O、用户数、高速缓存大小、请求的复杂程度等)影响。
批处理请求数值高意味着吞吐量

SQL Compilations/Sec

每秒的编译数。表示编译代码路径被进入的次数。包括 SQL Server 中语句级重新编译导致的编译。当 SQL Server 用户活动稳定后,
该值将达到稳定状态

Re-Compilations/Sec

每秒语句重新编译的次数。计算语句重新编译被触发的次数。一般来说,这个数最好较小,存储过程在理想情况下应该只编译一次,
然后执行计划被重复使用. 如果该计数器的值较高,或许需要换个方式编写存储过程,从而减少重编译的次数

SQL Server: Databases

Log Flushes/sec

每秒日志刷新数目

Active Transactions

数据库的活动事务数

Backup/Restore Throughput/sec

每秒数据库的备份和还原操作的读取/写入吞吐量。例如,并行使用多个备份设备或使用更快的设备时,可以测量数据库备份操作性能的变化情况。
数据库的备份或还原操作的吞吐量可以确定备份和还原操作的进程和性能

SQL Server General Statistics

User Connections

系统中活动的SQL连接数. 该计数器的信息可以用于找出系统的最大并发用户数

Temp Tables Creation Rate

每秒创建的临时表/表变量的数目

Temp Tables For Destruction

等待被清除系统线程破坏的临时表/表变量数

SQL Server Locks

Number of Deadlocks/sec

指每秒导致死锁的锁请求数. 死锁对于应用程序的可伸缩性非常有害, 并且会导致恶劣的用户体验. 该计数器必须为0

Average Wait Time (ms)

每个导致等待的锁请求的平均等待时间

Lock requests/sec

锁管理器每秒请求的新锁和锁转换数. 通过优化查询来减少读取次数, 可以减少该计数器的值

SQL Server:Memory Manager

Total Server Memory (KB)

从缓冲池提交的内存(这不是 SQL Server 使用的总内存)

Target Server Memory (KB)

服务器能够使用的动态内存总量

SQL Cache Memory(KB)

服务器正在用于动态 SQL 高速缓存的动态内存总数

Memory Grants Pending

指每秒等待工作空间内存授权的进程数. 该计数器应该尽可能接近0,否则预示可能存在着内存瓶颈

SQL Server Buffer Manager

Buffer Cache Hit Ratio

缓存命中率,在缓冲区高速缓存中找到而不需要从磁盘中读取(物理I/O)的页的百分比. 如果该值较低则可能存在内存不足或不正确的索引

Page Reads/sec

每秒发出的物理数据库页读取数。此统计信息显示的是所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据缓存、智能索引、更有效的查询或更改数据库设计等方法,将开销降到最低

Page Writes/sec

每秒执行的物理数据库页写入数

Page Life Expectancy

页若不被引用将在缓冲池中停留的秒数

Lazy Writes/Sec

每秒被缓冲区管理器的惰性编写器写入的缓冲区数

Checkpoint Pages/Sec

由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数

 

 

 

你可能感兴趣的:(sql,windows,数据库,server,sqlserver,disk,磁盘)