SQL Server性能监视器(perfmon)监视资源使用情况

0    180    2

Tags:

👉 本文共约8848个字,系统预计阅读时间或需34分钟。

简介

如果运行的是 Microsoft Windows 服务器操作系统,可使用性能监视器图形工具来测量 SQL Server 的性能。 可以查看 SQL Server 对象、性能计数器以及其他对象的行为,这些对象包括处理器、内存、缓存、线程和进程。 每个对象都有一个相关的计数器集,用于测量设备使用情况、队列长度、延时情况,另外还有吞吐量及内部拥塞指示器。

使用性能监视器可以监视系统资源的使用率。 以计数器的形式收集实时性能数据并查看。 可将计数器用于服务器资源,如处理器和内存使用。 还可将其用于许多 Microsoft SQL Server 资源,如锁和事务。

性能监视器的优点

性能监视器可用于同时监视 Windows 操作系统和 SQL Server 计数器,以便确定 SQL Server 性能与 Windows 性能之间可能存在的关联。 例如,同时监视 Windows 磁盘输入/输出 (I/O) 计数器和 SQL Server 缓冲区管理器计数器可以揭示整个系统的行为。

通过性能监视器可获取当前 SQL Server 活动和性能的统计信息。 使用性能监视器可以:

  • 同时查看任意多台计算机中的数据。
  • 查看和更改图表以反映当前的活动,以及显示按用户定义的频率进行更新的计数器值。
  • 从图表、日志、警报日志和报告将数据导出到电子表格或数据库应用程序中,以进行进一步的操作和打印。
  • 添加系统警报,这些警报可在警报日志中列出事件,并可以通过发出网络警报来通知您。
  • 当计数器值首次或每次超过或低于用户定义的值时,运行预定义的应用程序。
  • 创建日志文件,其中包含有关来自不同计算机的各种对象的数据。
  • 将其他现有日志文件中的选定区域追加到一个文件上,以形成长期存档。
  • 查看当前活动报告,或从现有日志文件创建报告。
  • 保存各个图表、警报、日志或报告设置或整个工作空间设置,以备再次使用。

性能监视器的性能

当监视 SQL Server 和 Microsoft Windows 操作系统以调查与性能有关的问题时,请首先注意以下三个主要方面:

  • 磁盘活动
  • 处理器利用率
  • 内存使用率

监视运行性能监视器的系统会轻微地影响计算机性能。 因此,要么将性能监视器数据记录到另一个磁盘或计算机上,以便减少对所监视计算机的影响,要么从远程计算机上运行性能监视器。 只监视您感兴趣的计数器。 如果监视的计数器过多,将会增加监视过程中使用的资源开销,并影响所监视计算机的性能。

性能监视器任务

任务说明主题
描述何时使用性能监视器,并讨论使用性能监视器时的性能开销。运行性能监视器
描述如何监视磁盘计数器,以便确定其 SQL Server 组件生成的磁盘活动和 I/O 量。监视磁盘用量
描述如何监视 Microsoft SQL Server 实例,以便确定 CPU 使用率是否在正常范围内。监视 CPU 用量
描述如何监视 SQL Server 实例,以便确认内存使用量是否在正常范围内。监视内存用量
描述如何创建一个在达到性能监视器计数器的阈值时发出的警报。创建 SQL Server 数据库警报
描述如何创建图表、警报、日志和报表,以便监视 SQL Server实例。创建图表、警报、日志和报告
列出性能监视器用于在运行 SQL Server 实例的计算机中监视活动的对象和计数器。使用 SQL Server 对象
列出性能监视器用于监视内存中 OLTP 活动的对象和计数器。SQL Server XTP(内存中 OLTP)性能计数器

在 Windows 中启动性能监视器

在“开始”菜单上,指向“运行”,在“运行”对话框中键入“perfmon”,然后选择“确定” 。

监视磁盘使用情况

Microsoft SQL Server 使用 Microsoft Windows 操作系统输入/输出 (I/O) 调用来对您的磁盘执行读和写操作。 SQL Server 管理何时以及如何执行磁盘 I/O,但是 Windows 操作系统执行基础 I/O 操作。 I/O 子系统包括系统总线、磁盘控制卡、磁盘、磁带驱动器、CD-ROM 驱动器以及许多其他 I/O 设备。 磁盘 I/O 是导致系统瓶颈的最常见原因。

监视磁盘活动涉及两个主要方面:

  • 监视磁盘 I/O 及检测过度换页
  • 隔离 SQL Server 产生的磁盘活动

有关详细信息,请参阅监视磁盘使用情况

有关如何在 SQL Server 中排查 I/O 问题的详细信息,请参阅低 I/O 性能 - SQL Server 和磁盘 I/O 性能

排查 I/O 问题导致的SQL Server性能缓慢问题:https://learn.microsoft.com/zh-cn/troubleshoot/sql/database-engine/performance/troubleshoot-sql-io-performance

磁盘延迟情况

测量 Windows 中 I/O 延迟的特定 性能监视器 计数器是LogicalDisk或PhysicalDisk下的 Avg Disk sec/ ReadAvg. Disk sec/WriteAvg. Disk sec/Transfer (读取和写入) 累积。如果这些等待持续超过 10-15 毫秒,则 I/O 被视为瓶颈。

SQL Server使用等待类型来指示产品中不同位置的 I/O 等待。 与 I/O 相关的等待包括:

小于10 ms – 优秀
• 在 10 - 20 ms之间 – 正常
• 在20 - 50 ms之间 – 缓慢
• 大于50ms– 严重的I/O问题

监视 CPU 使用率

定期监视 Microsoft SQL Server 实例以确定 CPU 使用率是否在正常范围内。 持续的高 CPU 使用率可能表明需要升级 CPU 或需要增加多个处理器。 或者,高 CPU 使用率也可能表明应用程序的调整或设计不良。 优化应用程序可以降低 CPU 的使用率。

一个确定 CPU 使用率的有效方法是使用系统监视器中的 Processor:% Processor Time 计数器。 该计数器监视 CPU 执行非闲置线程所用的时间。 持续 80% 到 90% 的状态可能表明需要升级 CPU 或需要增加更多的处理器。 对于多处理器系统,应为每个处理器监视一个该计数器的独立实例。 这一值代表了在一个特定处理器上的处理器时间之和。 若要确定所有处理器的平均时间,请改用 System: %Total Processor Time 计数器。

另外还可以监视下列计数器来监视处理器的使用率:

  • Processor: % Privileged Time

    对应于处理器执行 Microsoft Windows 内核命令(例如处理 SQL Server I/O 请求)所用时间的百分比。 如果 Physical Disk 计数器的值很高时该计数器的值也一直很高,则考虑安装速度更快或效率更高的磁盘子系统。

    备注

    不同的磁盘控制器和驱动程序所用的内核处理时间不同。 高效的控制器和驱动程序所用的特权时间较少,可留出更多的处理器时间给用户应用程序,从而提高总体的吞吐量。

  • Processor: %User Time

    对应于处理器执行用户进程(例如 SQL Server)所用时间的百分比。

  • 系统:Processor Queue Length

    对应于等待处理器时间的线程数。 当一个进程的线程需要的处理器循环数超过可获得的循环数时,就产生了处理器瓶颈。 如果有很多进程在争用处理器时间,可能需要安装一个速度更快的处理器。 如果使用的是多处理器系统,则可以增加一个处理器。

检查处理器使用率时,需考虑 SQL Server 实例执行的工作类型。 如果 SQL Server 正在做大量的运算,例如包含聚合的查询,或受内存限制但不需要磁盘 I/O 的查询,此时所用的处理器时间可能是 100%。 如果这导致其他应用程序的性能降低,应尝试改变工作负荷。 例如,让计算机只运行 SQL Server实例。

若使用率为 100% 左右(表示在处理大量的客户端请求),可能表示进程正在排队,等待处理器时间,并因而导致出现瓶颈。 可以通过增加速度更快的处理器来解决这一问题。

监视内存使用量

配置 SQL Server 最大内存

默认情况下,随着时间的推移,SQL Server 实例可能会消耗服务器中大部分可用的 Windows 操作系统内存。 获取内存后,除非检测到内存压力,否则将不会释放内存。 这是由设计决定的,并不表示 SQL Server 进程中存在内存泄漏。 使用“最大服务器内存”选项以限制 SQL Server 在大多数情况下可获取的内存量。 有关详细信息,请参阅内存管理体系结构指南

在 Linux 上的 SQL Server 中,通过 mssql-conf 工具和 memory.memorylimitmb 设置内存限制

监视操作系统内存

若要监视内存不足的情况,请使用下列 Windows Server 计数器。 许多操作系统内存计数器都可通过动态管理视图 sys.dm_os_process_memorysys.dm_os_sys_memory 进行查询。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复