博客 SQL Server优化入门系列——性能计数器(performance counter)

SQL Server优化入门系列——性能计数器(performance counter)

   数栈君   发表于 2024-02-05 11:16  133  0

说明

Performance Counter是windows系统中通用的性能分析工具。Windows OS和SQL Server暴露了很多Performance Counter,可用户分析整个系统的运行情况。performance counter结合等待事件一起使用,能取得更好的优化效果。

在这篇文章中,我们将介绍:

1、如何使用工具查看performance counter

2、sql server常用的performance counter

3、windows常用的performance counter


使用工具查看Performance Counter

很多工具可以用来查看和分析performance counter,常用的方法:

  • 使用perfmon程序

  • 使用resmon程序

  • 使用typeperf命令行工具

  • 使用SQL Server Performance Counter DMV


perfmon

perfmon是windows下查看性能计数器的首选工具。我们可以使用perfmon

1、查看当前性能计数器

2、将性能计数器的数据采集下来,供后续分析


打开perfmon

可以通过管理工具 -> 性能监视器 打开perfmon,或者在命令行输入perfmon打开。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/b2957cb8b92405ea7837746860b21353..png


使用perfmon

  • 比例:有的指标在显示到趋势图上时,有个比例。图上的纵坐标数值乘以比例,才是指标的真实数值


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/abfc14fb3de0f067eb31b6ecf5bb9066..png


选择显示方式

  • 线条:方便查看指标的趋势

  • 报告:方便查看指标当前值

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/dfeab5d464edd116c8914816084d635d..png

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/966c025e2ddbb792415bd143a0f9f687..png



添加计数器

  • 选择指标

  • 选定对象。有的计数器可选择_Total或指定实例


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/b7e79a4f265f2654b477fddd537feebb..png


选择采样频率

性能监视器 -> 右键 -> 属性:


  • 采样间隔

  • 持续时间:perfmon 趋势图展示的时间长度

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/7879e29a1445ded57a2d8d90480e0851..png

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/8a9daacc410b7d64adb5511100272473..png


使用数据采集器

使用数据采集器,可以自定义数据采集任务,将性能数据采集到文件。便于事后分析问题。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/c53ef15f5b8e3f8addc73667d8ea288f..png

resmon(资源监视器)

使用Resmon可以很方便的查看windows系统层面的资源使用情况。

资源监视器,可以在管理工具中找到。或者在命令行输入resmon打开。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/30753ba426527013f27f46f69d23deb9..png


通过性能监视器可以方便地查看windows系统层面的资源使用情况,包括:

  • CPU

  • 内存

  • 磁盘IO

  • 打开的文件

  • 网络流量和监听端口


typeperf


typeperf是查看性能计数器的命令行工具。一般比较少使用。

我们可以使用typepef查看和搜索指标

Bash
typeperf -qx | findstr "PhysicalDisk"


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/cdead951dff687d1ab9d12db5684d8e0..png



SQL Server Performance Counter DMV

SQL Server的Performance Counter也可以通过 sys.dm_os_performance_counters视图查询。

便于监控程序以SQL语句的方式获取指标:

SQL
select * from sys.dm_os_performance_counters

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/dbdbe0b3786009f8f34bf4e48a8788b0..png

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/7500041b22b80a86e64cf2a65713c81a..png

关键字段:

  • object_name: 计数器的类别。

  • counter_name:计数器名称

  • instance_name:实例名称。如数据库

  • cntr_value: 计数器的值

  • cntr_type:计数器类型。计数器类型对于指标计算非常关键,不同的类型需要使用不同的公式计算

cntr_type

描述

例子

1073939712

PERF_LARGE_RAW_BASED

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/103cb4227da360a747efc7b2d2ab1981..png

计算公式:这2个指标的差值相除,

(n1 - n0) / (d1 - d0)

1073874176

PERF_AVERAGE_BULK

537003264


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/568ac5edfed2b011a180e7b9f606c6b8..png


计算公式:取2个指标的当前值相除,乘以100%,

100.0 * n/d


65792

PERF_COUNTER_LARGE_RAWCOUNT

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/76f84ff6a3fa4e9a70e261892957d2f5..png


取当前值

272696576

PERF_COUNTER_BULK_COUNT

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/a8b482440502723a3377776f50df685a..png

计算差值,n1 - n0

atu


《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack  
0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群