DB2:DB2TOP解析

news2024/11/18 6:01:58

文章目录

  • 简介
  • 主界面功能介绍
  • 快捷设置
  • 数据库监控(d)
  • 表空间监控(Tablespace)(t)
  • 动态SQL监控(Dynamic SQL)(D)
  • 表监控(T)
  • 会话监控(session)(l)
  • 缓冲池监控(Bufferpool)(b)
  • 锁监控(Locks)(U)
  • 瓶颈监控(Bottleneck)(B)
  • load监控(Utilities)(u)
  • 参考文献

简介

db2top提供了对整个数据库的性能监控。

db2top一般有两种运行模式:交互模式和批量模式。

我们平时用的那种带界面的,输入命令后等待系统响应的,就是交互模式

批量模式就是用命令行的形式,输入指令打印结果。

2023-6-29 16:59:19 这个是21年年中的时候记录的,当时因为工作需要,所以搜集了挺多相关资料,但是都语焉不详,自己也没研究懂,所以这篇笔记就只是稍作了解析,仅供参考。

主界面功能介绍

在这里插入图片描述

db2top命令,进入后主界面是这样的,点击不同的按键选择不同的监控选项,记得区分大小写

T:表监控,监控数据库中的表信息,包括表的当前使用信息和本身的属性信息。

快捷设置

进入session界面后,点击不同的按键有不同的效果

A:弹出输入行,输入application handle之后,回车,可查看详情;

在这里插入图片描述

Z:输入列号,可按照指定列排序;

数据库监控(d)

在这里插入图片描述

数据库监控界面,为整个数据库提供了一整套性能的监控。

当某个要素的使用率急剧升高甚至达到百分之百的时候,用户应该研究相关的原因。

start time:记录数据库上一次的启动时间,通过与当前时间做差,可以得到本次数据库已经持续运行了多长时间。

LockUsed:锁使用

LockEscals:锁升级

L_Reads:逻辑读

P_Reads:物理读

A_Reads:异步读

HitRatio:命中率

上面四个监控变量可以用来衡量大多数读操作是发生在内存IO还是磁盘IO。磁盘IO比内存慢很多,尽量用内存读。

命中率降低时,需要关注缓存池是否不足,是否有太多表扫描和内存磁盘交换。

A_Writes:异步写,表示在需要缓存池空间之前,数据页是通过异步页清除器代理执行写操作的。

似乎可以通过计算A_Writes/Writes的最大值来得知的写I/O的最佳性能,这个我后来没有再深入了解过。

SortOvf:表示排序溢出,如果这个值非常高,那需要查看下查询语句。排序溢出发生在排序堆不足时,sort或者HashJoin操作会把数据溢出到临时空间去。有时候,SortOvf值会因为排序堆调大而下降,但在其他的情况下,如果被排序的数据套比收集到的排序堆的内存大很多,则不起作用。如果数据量需要比缓存池临时空间的承受能力大,就需要使用物理IO来处理sort或者hash join。因此,优化你的查询来避免或减少排序溢出,能够显著的提高系统的性能。

AvgPRdTime:平均物理读取时间

AvgDRdTime:平均直接读取时间

AvgPWrTime:平均物理写入时间

AvgDWrTime:平均直接写入时间

这四个条目直接反映了IO子系统的性能。应该避免这些条目中存在不寻常的大量时间消耗。

正常情况下,DB2的排序发生在内存中,这块内存叫做排序堆,即SORTHEAP。当需要排序的数据量超过了排序堆的大小后,就会发生排序溢出。溢出的数据会被写到临时表中,这会产生更多的IO,对查询性能有较大影响。

表空间监控(Tablespace)(t)

在这里插入图片描述

表空间监控,提供每个表空间的详细信息。

Hit Ratio%:缓冲池命中率

Async Read%:

Delta l_reads/s:增量逻辑读取

Delta p_reads/s:增量物理读取

反映了这些表空间有多忙碌。

一些表空间可能并没有很高的缓冲池命中率,但他们也可能没有太多的活动。

可以通过点击方向左键和右键,来滚动屏幕查看更多列。

Avg RdTime:平均读时间

Avg WrTime:平均写时间

Space Used:表空间使用大小

Total Size:表空间总大小

%Full:表空间大小的使用率

监控每个表空间的空间使用情况。

Tbspce Type:表空间类型,DMS或者SMS(疑似是)

动态SQL监控(Dynamic SQL)(D)

在这里插入图片描述

动态SQL监控界面,提供了每一个缓存的SQL语句的详细信息。并给指定查询生成db2expln和db2exfmta。

Num Execution:执行次数,反映指定查询执行了多少次

Avg ExecTime:平均执行时间,反映指定查询的平均运行时间是多少。

Avg CPUTime:平均CPU时间。

Avg CPUTime跟Avg ExecTime进行比较,可以了解到指定sql花在CPU运算上的时间百分比,或者是花在等待锁或IO的时间百分比。能够看出来该SQL的运行时间是花在CPU上,还是花在等待锁或者IO上。

AvgSort PerExec:平均每次执行排序的次数

Sort Time:排序时间我感觉应该是累计的总时间吧。。。

可以反映执行期间的排序情况。

Index Hit%:索引的命中率

Temp_l_reads:临时空间的逻辑读取???

这两个条目可以帮助用户关注缓冲池大小是否需要调整。

动态SQL监控界面下,还提供了生成db2expln和db2exfmt报告的功能。通过在动态SQL监控模式下输入大写字母L,然后键入SQL对应的HashValue字符串,就可以。这个功能在session监控界面也有提供

表监控(T)

表监控显示表信息。也是很重要的一个监控。

在当前时间未被访问到的空闲表以白色显示。正在访问(活动)的表以绿色显示

在这里插入图片描述

界面是这样的,下面以此解析一下每部分。

Delta RowsRead(written)/s 表示在使用时间内,读写的行除以时间间隔。这个数值表示表在当前时间内的使用频率。(我是不是可以这么理解,每秒从表里读取的数据行数?但是每个表内字段数不一样啊,行不是一致的概念吧???)

Rows Overflows / s 表示当前,每秒有多少行数据发生了溢出。溢出的表会产生数据碎片,如果这个列数值过高,那么需要使用reorg重新构建表来清除碎片。

Data Pages:列数据页

Index Pages:索引页

Table Type:表类型

Table Size:表大小

会话监控(session)(l)

在这里插入图片描述

提供每个应用程序会话的详细信息。

中间最顶上那个表格:似乎跟我原先理解的并不一样

r+w/sec%:这个怎么感觉像是,在整体IO里,r和w所占得比例?即每个时刻,r占多少,w占多少。

Sys/Usr Cpu%:跟上面差不多,感觉像是sys_cpu_time和usr_cpu_time的占用比例,即体现当前时刻,是sys多一些还是usr多一些。

似乎又不能这么理解,我整个人已经没了

难道是DB2执行sql的时候,每次都会使用全部资源?然后大家一起争抢?所以没必须展示当前消耗资源占总资源比例?因为一个应用就会占100%??

application handle:表示每个应用的句柄

CPU%total:应用消耗CPU计算资源,占所有session消耗资源的百分比。以下两项以此类推

(stmt_usr_cpu_time + stmt_sys_cpu_time)
/
sum(stmt_usr_cpu_time + stmt_sys_cpu_time) * 100%

IO%total:

MEM%total:

在大多数情况下,每个会话表示一个连接。(就是说,有存在多个会话表示一个连接的情况?)

Log Used:事务日志的占用

Application Status: 可通过参考文献1,来查看application status可选的值

在session监控界面,点击小写字母a,然后输入想要查看的句柄号,回车之后即可进入该应用会话的详情界面。

参考文献:

  1. db2top sessions screen

缓冲池监控(Bufferpool)(b)

提供关于每个缓冲池利用率的信息

在这里插入图片描述

这里没看懂,就没放。

锁监控(Locks)(U)

在这里插入图片描述

可以很容易的列出应用程序锁持有的锁。并且可以很方便的进行锁链分析。

application status:应用状态,lock waiting表示当前应用被卡在锁等待状态,

直接查看锁监控界面,有时候并不是很容易弄清锁等待的关系,尤其是有多个应用涉及的时候,所以db2top提供了一个有用的特性来动态的绘制当前的锁链,在锁监控界面输入大写L!

类似:

在这里插入图片描述

应该是表示,应用24在等待应用9的锁,而应用26在等待应用24的锁。

如果查看不到的话,就说明当前没有锁链。

瓶颈监控(Bottleneck)(B)

在这里插入图片描述

这部分主要是显示,对于每一种系统资源,哪个应用(agent)占用最大。

瓶颈分析对于一个DBA来说,是不能忽视的,根据瓶颈监控,DBA可以知道是哪个应用严重的限制了系统的性能。

  • CPU:哪个agent消耗了最多的CPU时间
  • SessionCpu:哪个application session消耗了最多的CPU时间
  • IO r/w:哪个应用消耗了最多的IO资源
  • memory:哪个agent消耗了最多的内存
  • Locks:哪个应用拿了最多的锁
  • sorts:哪个应用执行了最大数量的排序
  • sort times:哪个应用消耗了最长的排序时间
  • Log used:哪个应用消耗了最多的日志空间
  • overflows:最多的排序溢出????啥意思
  • RowsRead:读了最多的行
  • RowsWritten:写了最多的行
  • TQ r/w:在table queues中,发送和接收了最多的行
  • MaxQueryCost:由compiler估计的最大的sql执行时间
  • XDAPages:对XDA数据来说,哪个应用有最多的页

resourcevalues是什么???resourceValues好像就是实际占用的值,就比如memory占用,的确就是37.1M。

load监控(Utilities)(u)

在这里插入图片描述

这个界面是用来监控数据库的load情况,使用db2 load来导数的,从这里可以查看load进度。

参考文献

  1. db2top操作手册 参考文献1和2比较像
  2. db2top工具详解(翻译)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/700127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FastDFS单机部署及SpringBoot整合

前言 FastDFS是一个开源的高性能分布式文件系统。它的主要功能包括:文件存储、文件同步和文件访问(文件上传和文件下载),可以解决高容量和负载平衡问题。FastDFS应满足其服务基于文件的网站的要求,如照片共享网站和视…

数据安全服务,美创科技为“数字国贸” 筑牢安全防线

在数字经济蓬勃发展的当下,国有企业作为国民经济的“中流砥柱”,正以主力军和先行者之姿,以数字化转型创新作为引擎,驱动高质量发展。数字化进程持续深入,伴随数据要素多样流动,降低数据安全风险&#xff0…

UART I2C SPI CAN LIN 和ETH这些通讯外设的内在联系

这些不同的通讯手段之间其实有着许多隐藏的共性。 物理层到数据链路层扒一扒这些通讯手段的底层原理。 物理层与数据链路层这两个概念: ISO国际标准化组织在上世纪70年代末, 把计算机网络通信的整个框架描述成了一个七层的模型,并称之为OS…

数据备份技术------概述与总结

数据备份技术------概述与总结 数据备份技术------概述与总结备份技术的发展(组网方式)1、Host备份方式2、LAN备份方式3、LAN-free备份方式(SAN)4、Server-free备份方式5、Sever-less备份方式 备份技术的发展(主流备份…

Springboot搭配Redis实现接口限流

目录 介绍 限流的思路 代码示例 必需pom依赖 自定义注解 redis工具类 redis配置类 主拦截器 注册拦截器 介绍 限流的需求出现在许多常见的场景中: 秒杀活动,有人使用软件恶意刷单抢货,需要限流防止机器参与活动 某 api 被各式各样…

人工智能系统的技术架构

一、架构图 1.基础层包括: 硬件设施、软件设施、数据资源。其中在硬件设施方面,做深度学习和神经网络训练时候往往会涉及到模型训练是在CPU还是GPU上面,在这个里面GPU就是做计算加速的,第二个是智能芯片,市面上出现的…

linux 系统 最详细 启动流程

文章目录 详细分析 系统启动过程主要流程阶段说明BIOSMBR(Stage 1 bootloader)GROUB(Stage 2 bootloader)kernelvmlinuzinitrd.img Init 详细分析 系统启动过程 主要流程 PC 启动主要流程,分为四个阶段: BIOS -> MBR -> GRUB -> KERNEL ->…

6.3.5 修改文件时间或创建新文件: touch

我们在 ls 这个指令的介绍时,有稍微提到每个文件在linux下面都会记录许多的时间参数, 其实是有三个主要的变动时间,那么三个时间的意义是什么呢? modification time (mtime): 当该文件的“内容…

1.6、JAVA 分支结构 switch结构 for循环

1 分支结构 1.1 概述 顺序结构的程序虽然能解决计算、输出等问题 但不能做判断再选择。对于要先做判断再选择的问题就要使用分支结构 1.2 形式 1.3.1 练习:商品打折案例 创建包: cn.tedu.basic 创建类: TestDiscount.java 需求: 接收用户输入的原价。满1000打9折…

消息通知模块的设计原理

目录 介绍 一、数据库设计 公告消息记录应该全局唯一,还是为每个用户创建一条公告消息? 用MongoDB存储消息数据 1. 搞冷热数据分离,热数据定期归档 2. 冷数据存储一段时间后就销毁,释放存储空间 二、系统消息的发送与收…

肺癌的成因

中国医师协会 2023 年呼吸医师年会暨第二十二届中国呼吸医师论坛(CACP 2023)于 2023 年 6 月 15-18 日在大连如期举行。肺癌是我国目前发病率和死亡率最高的癌症,它的早期筛查和诊断十分关键。 丁香园呼吸时间特邀四川大学华西医院院长、呼吸…

软件测试报告办理解决方案分享,为什么要选择CMA认证或CNAS认可测试报告?

在进行软件测试时,合格的测试报告对于软件产品的质量保障至关重要。那么软件测试报告又该如何办理呢?软件企业为什么要选择CMA认证或CNAS认可的测试报告呢?因为CMA认证的测试报告和CNAS认可的测试报告都具有不可忽视的好处。 一、软件测试报告办理解决方案 1. 测…

我蒙了面试官一上来就说:请你介绍一下你测试过的项目

测试人员在找工作中,基本都会碰到让介绍项目的这种面试题,如何正确介绍自己的项目?需要做哪些技术准备? 今天这篇文章,围绕这些问题,跟大家一起聊一聊。 关于介绍自己的项目? 可以从以下几个方面…

赛效:如何将PDF文件分割成单页的PDF文档

1:打开wdashi点击PDF处理菜单里的“PDF分割”。 2:将本地PDF文件添加上去,在下方选择转换页码,在这里我们选择转换每一页。 3:点击右下角“开始转换”。 4:转换好后,点击绿色下载按钮将分割好的…

七、Docker安装MySQL/Tomcat/Redis等

学习参考:尚硅谷Docker实战教程、Docker官网、其他优秀博客(参考过的在文章最后列出) 目录 前言一、安装步骤二、Docker安装Tomcat2.1 搜索镜像2.2 拉取镜像2.3 查看镜像2.4 启动镜像(端口映射)2.5 停止容器2.6 移除容器 三、Docker安装MySQL…

23年下半年软考软件测评师难考吗?最近考虑要不要考?

软考中级难度是适中的,可以考啊! 因为当代随着各种应用技术层出不穷,随着社会发展,需要大量的软件人才支持,同时软件的更新速度越来越快,市场竞争极其激烈。相关国际认证有微软的,Orical&#…

新西兰访问学者签证申请注意事项

新西兰是一个美丽而富有文化多样性的国家,许多学者都梦想着前往这里进行学术交流和研究。如果你计划申请新西兰的访问学者签证,以下是知识人网小编整理的一些你需要注意的事项: 1. 确认申请资格:在开始申请之前,确保你…

旧手机不要轻易扔掉,将其设置为无线网卡,不消耗流量

如果你有一部旧手机正在闲置着,或者正考虑要将其丢弃,那么请暂停一下。因为这个旧手机可以成为你的无线网卡,帮助你在家中或出行时实现更快的网络下载速度,而且毫不费流量。接下来,我将告诉你如何将旧手机变成无线网卡…

安装 Prometheus 指标存储 观测 dubbo /windows_exporter指标 windows 版本 其他系统换个语法思路一样

目录 下载 Prometheus 访问Prometheus Targets 发现服务 对应的 dubbo 指标就出来了 Dubbo脚手架生成个最简单的项目 导入 Prometheus 相关包 或者使用这个包即可 启动后就自动上报指标了 Windows_exporter or node_exporter 端口 9182 Prometheus 配置 windows_exp…

基于SpringBoot+vue的旧物置换网站设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…