如何对DB2数据库做性能分析?

第一步 操作系统级别性能
CPU监控:
ps -elf | sort +5 -rn | more 第6列代表CPU使用的计数器
I/O使用率:
iostat -D 收集磁盘I/O信息
内存占用率:
讨论的内存指的是虚拟内存(virtual memory),包括物理内存(physical memory)与交换空间(swap space)
vmstat -> avm 当前系统中已经激活的虚拟内存页的数量(该数值不包含文件系统缓存)
vmstat -> fre 系统中平均空闲页的数量(不能完全代表系统中可用的空闲内存:文件系统缓存驻留内存,并不会返还给空闲列表,除非被虚拟内存管理器盗取)
svmon -> clnt与in use交叉项代表有多少内存被文件系统使用(加上free项,可以初步认为是该系统中可以被应用程序所使用的内存)

第二步 数据库级别性能
1. db2grep -dump | more 查看服务器安装了几个DB2版本
2. ps -elf | grep db2inst1 查看数据库进程的CPU计数器
3. db2 get dbm cfg | grep -i dft_mon 确认快照打开
4. 实例级快照,了解当前实例有多少应用程序在执行
db2 get snapshot for database manager -> Remote connections & Local connections
5. 数据库级快照
连接数信息:applications connected currently,appls executing in db manager currently
锁信息:锁总数,锁等待数量,锁等待总时间,当前数据库锁列表占用内存,死锁次数,锁升级次数,锁超时次数
排序信息:
排序是CPU杀手,过多的排序会造成CPU的极大消耗;
排序溢出是说,如果排序堆无法容纳排序数据,就会被溢出到临时空间;
排序是一种状态,根源在SQL语句;
数据索引I/O信息:
逻辑读 DB2向缓冲池请求的次数 逻辑读越多,需要的物理I/O就越少
物理读 如果请求的数据页不在缓冲池,需要从磁盘中读取数据页的次数
吞吐量或事务信息:
提交/回滚事务数,执行动态和静态语句次数,增删改查次数
( rows read / rows selected ) 是一个非常重要的性能指标,它表示为了检索一行数据需要读取多少行,该值越大,表示代价越高,需要的I/O越多,可调优的余地越大
事务日志信息:日志I/O在很大程度上会影响数据库整体的性能
6. 应用程序快照
在数据库快照中发现存在大量的逻辑读,通过应用程序快照可以细化到某条特定的语句
7. 表空间快照
在数据库快照中发现存在大量的逻辑读,通过表空间快照可以轻松地定位哪个表空间被频繁使用
8. 表快照
如果发现一个表的页数很少,但是读的行数非常多,那么可以合理地猜测该表在某些查询语句中可能处于NLJOIN的内部子节点
9. 动态SQL快照:SQL执行次数,总共读的行数,消耗的CPU,逻辑物理读数量,排序数量等

第三步 内存使用监控
1. db2pd -osinfo
系统内存使用情况
2. db2pd -dbptnmem
整个实例的内存使用情况
3. db2pd -memsets
内存段使用情况
在实例中会有多个不同的内存段,每一个内存段中可能有一个或者多个内存池
ipcs -a | grep 578814120 内存段映射到操作系统共享内存IPC段
FMP与trace内存段很少造成性能问题
4. db2pd -mempool
深入内存池信息
5. db2pd -db <dbname> -memsets / -mempool
数据库级别内存段和内存池信息

转载于:https://blog.51cto.com/liurh931693/1427700

如何对DB2数据库做性能分析?相关推荐

  1. db2和mysql性能_关于DB2数据库的性能分析记录

    很久没冒泡感觉: 之前做过oracle,mssql 查询优化,最近在做db2的 优化查询,发现一对比,感觉 db2还是很nice的,尤其是性能推荐索引重建这块.暂且这么认为, 我们熟悉的 一般看sql ...

  2. 微服务架构 | 如何利用好日志链路追踪做性能分析?

    导读:做性能分析听到最多的歪理就是,服务做水平.垂直扩容.分表分库.读写分离.XX中间件.资源静态化等等但是归根到底这些方案都是为了尽可能减少对数据库的访问以及堆栈的释放,提高数据库IO的读写速度和程 ...

  3. MySQL:教你学会如何做性能分析与查询优化

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:mikevictor cnblogs.com/mikevic ...

  4. mysql limit优化_MySQL:教你学会如何做性能分析与查询优化

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:mikevictor cnblogs.com/mikevictor07/p/7275 ...

  5. leip与mysql数据库_性能分析方法 - osc_xm8bu282的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.性能分析的常用手段 1.空间换时间,利用内存缓存从磁盘上取出的数据,CPU可以直接访问内存,从而比从磁盘读取数据更高的效率. 2.时间换空间,当空间成为瓶颈的时候,切开数据分批次处理,用更少空间完 ...

  6. 21-Chrome开发者工具:利用网络面板做性能分析

    浏览器中的页面循环系统"模块我们已经介绍完了,循环系统是页面的基础,理解了循环系统能让我们从本质上更好地理解页面的工作方式,加深我们对一些前端概念的理解. 接下来我们就要进入新的模块了,也就 ...

  7. soar mysql_小米开源的数据库SQL性能分析工具SOAR,windows版安装使用

    SOAR SOAR(SQL Optimizer And Rewriter)是一个对SQL进行优化和改写的自动化工具. 由小米人工智能与云平台的数据库团队开发与维护. 功能特点跨平台支持(支持Linux ...

  8. 浏览器原理 20 # Chrome开发者工具:利用网络面板做性能分析

    说明 浏览器工作原理与实践专栏学习笔记 DevTools Chrome 开发者工具(简称 DevTools)是一组网页制作和调试的工具,内嵌于 Google Chrome 浏览器中.它提供了通过界面访 ...

  9. DB2数据库性能调整和优化(第2版)

    <DB2数据库性能调整和优化(第2版)> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302325260 上架时间:2013-7-3 出版日期:2013 年7月 开 ...

最新文章

  1. Windows server backup笔记 WSB
  2. linux运行容器,容器与云|如何在 Windows 上运行 Linux 容器
  3. 【自动驾驶】24.欧拉角、旋转向量、四元数、万向锁
  4. python获取城市天气数据案例
  5. LeetCode 1566. 重复至少 K 次且长度为 M 的模式
  6. MySQL 8.0开始Group by不再排序
  7. 三天学好ADO(转)
  8. php输出mysql查询,MySQL查询和PHP输出
  9. 智能终端会议系统(20)---网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系
  10. 发布水晶报表时需要在服务器进行如下操作
  11. MSDN Magazine Download
  12. Win10开机免UAC自启动锐捷客户端
  13. USRP系列(一):软件定义无线电(SDR)
  14. DNS劫持和DNS污染的区别
  15. VBA-EXCEL:控制WORD文件
  16. ChatGPT的注册和使用教程
  17. 出现ora-01400错误解决办法
  18. vue图片超出屏幕尺寸自动适应图片比例缩放
  19. 计算机组成fc fz是什么,计算机组成原理实验二
  20. 深度Linux如何安装驱动程序,在Deepin 20系统下手动安装N卡闭源驱动64-440.31.run的步骤...

热门文章

  1. Java基础5:final
  2. Visual Studio Code 常用快捷键
  3. Android 8.1 源码_启动篇(一) -- 深入研究 init(转 Android 9.0 分析)
  4. 关于Mybatis的SQL映射文件中in关键字的用法
  5. sublime设置tab为四个空格
  6. java用iText导出word文档
  7. 程序员们的时间管理法则
  8. 学习动态性能表(3)--v$sqlv$sql_plan
  9. DEBUGnbsp;设置监视点:判断变量值
  10. Windows Phone 应用程序生命周期