Windows性能计数器(用于监控系统和sql server)
2021腾讯云限时秒杀,爆款1核2G云服务器298元/3年!(领取2860元代金券),
地址:https://cloud.tencent.com/act/cps/redirect?redirect=1062
2021阿里云最低价产品入口+领取代金券(老用户3折起),
入口地址:https://www.aliyun.com/minisite/goods
推荐:【SQL Server DBA】日常巡检2:windows性能监控器
性能监视器的各类指标 一、内存指标 1、Windows层面上的内存使用检查 在检查SQL Server内存使用之前,DBA必须首先检查一下Windows层面的内存使用情况。 Windows
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 数量
推荐:WINDOWS下SQL SERVER 2000 数据库的完全卸载
WINDOWS下SQL SERVER 2000 数据库的完全卸载 操作步骤: 在进行操作之前,建议备份好注册表以及重要的数据库文件。 首先,我们尝试用IsUninst.exe卸载程序来安全
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
由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数
推荐:Windows 2008 r2 安装SQL Server 2008 性能计数器注册表配置单元一致性
MSDN 上提供方法 http://support.microsoft.com/kb/300956 不过按上面解决不了问题。上面提到的操作系统应该是比较早的版本。 不过问题的根源应该都是一致的都
相关阅读排行
- 1Microsoft SQL Server 2008安装图解(Windows 7)
- 2WINDOWS下SQL SERVER 2000 数据库的完全卸载
- 3SQL Server 性能调优(一)——从等待状态判断系统资源瓶颈
- 4Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126
- 5[sql server] [windows2003] 解决1433端口无法打开的问题