金仓数据库性能分析工具利器之一——KWR

一、什么是KWR

KWR是KingbaseES自动负载信息库(Kingbase Auto Workload Repertories)的简称(类比Oracle AWR),他通过周期性自动记录性能统计相关的快照,分析出KingbaseES的操作系统运行环境,数据库时间组成,等待事件和TOP SQL等性能指标,为数据库性能调优提供指导。

二、KWR基本原理

数据库实例运行过程中不断产生一些统计数据,比如对某个表的访问次数,数据页的命中次数,某个等待事件发生的次数和总时间,SQL语句的解析时间等,这些统计数据被一个叫做KWR collector的后台性能监控进程周期性地(默认每小时)自动采集,存储到KWR快照里面,这些快照默认保存8天,到期后那些快照被自动删除。

三、KWR配置使用方式

  1. 配置参数

KWR依赖内核统计模块采集性能统计数据,需要在kingbase.conf中配置开启以下参数:

注意:打开自动快照功能,需要将sys_kwr.enable设置为on(需重启数据库)

  1. 添加KWR插件

使用SQL在目标数据库中创建SYS_KWR扩展:CREATE EXTENSION sys_kwr;

  1. 快照管理

3.1手动快照管理

SELECT * FROM perf.create_snapshot();  ---手动创建快照

SELECT * FROM perf.kwr_snapshots; ---查询快照列表

SELECT * FROM perf.drop_snapshots(1, 2); ---手动删除指定范围快照

SELECT * FROM  perf.reset_snapshots(); ---手动清空所有快照

3.2自动快照管理

自动快照由后台进程周期性生成快照,需修改kingbase.conf如下参数:

  1. 生成KWR报告

将9:52至9:55时间范围的快照1、2形成报告,支持txt和html两种文件格式

---生成txt格式报告

SELECT * FROM perf.kwr_report_to_file(1,2,'text', '/home/kingbase/kwr_1_2.txt');

---生成html格式报告

SELECT * FROM perf.kwr_report_to_file(1,2,'html', '/home/kingbase/kwr_1_2.html');

四、KWR报告分析

主要从报告摘要部分进行分析,摘要部分从总体角度描述数据库性能,分析完摘要部分就能大体了解性能情况,甚至可以定位性能问题所在,也可以结合报告主体详细内容分析问题。

  1. 负载分析

描述数据库负载情况,其中比较重要的性能指标参数有:DB Time, DB CPU, Foreground Wait Time, WAL Size, Blocks Read/Write Size等。如下图WAL size写入量很小,Blocks 读写较小,证明数据库没有什么压力。

  1. 实例效率百分比

实例效率百分比展示数据库实例跟重复利用数据缓存也、解析、计划的效率百分比情况,这些值在优化的比较好的测试环境里几乎都接近100%。

  1. TOP 10前台等待事件

显示花费等待时间最多的10个前台等待事件,从该报告可以看出数据库实例在主要在等待什么。

  1. 主机CPU

显示快照期间主机CPU的使用情况,可以了解数据库实例的运行环境。当主机上没有其他进程消耗较大CPU的时候,该值可以近似地认为是数据库实例的CPU使用情况。

  1. 主机IO

显示主机上各磁盘IO读写统计数据,可以反映数据库实例所在环境的IO繁忙程度。

  1. 主机内存

显示了主机内存在快照开始和结束时使用情况,只有内存明显不够的情况下才需要关注,比如使用到了Swap交换空间。

  1. 主机网络

显示了主机上每个网络介质上网络IO的情况,如果网络负载高可以关注。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值