金融其它Db2性能调优

如何发现性能问题?

如何发现性能问题?通过什么定位?
比如:通过自带命令,报告等方式

参与7

1同行回答

y18511664518y18511664518技术总监长城超云
1、收集信息。2、分析3、找到问题点解决补充一下吧第一步 操作系统级别性能CPU监控:ps -elf | sort +5 -rn | more 第6列代表CPU使用的计数器I/O使用率:iostat -D 收集磁盘I/O信息内存占用率:讨论的内存指的是虚拟内存(virtual memory),包括物理内存(physical memory)与交换空间(s...显示全部

1、收集信息。
2、分析
3、找到问题点解决
补充一下吧
第一步 操作系统级别性能
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,逻辑物理读数量,排序数量等
    第三步 内存使用监控
  10. db2pd -osinfo
    系统内存使用情况
  11. db2pd -dbptnmem
    整个实例的内存使用情况
  12. db2pd -memsets
    内存段使用情况
    在实例中会有多个不同的内存段,每一个内存段中可能有一个或者多个内存池
    ipcs -a | grep 578814120 内存段映射到操作系统共享内存IPC段
    FMP与trace内存段很少造成性能问题
  13. db2pd -mempool
    深入内存池信息
  14. db2pd -db <dbname> -memsets / -mempool
    数据库级别内存段和内存池信息
收起
金融其它 · 2017-08-17
浏览1131

提问者

陈锐
项目经理打杂
擅长领域: 系统运维服务器中间件

问题来自

相关问题

相关资料

问题状态

  • 发布时间:2017-08-17
  • 关注会员:2 人
  • 问题浏览:3351
  • 最近回答:2017-08-17
  • X社区推广