金仓数据库KingbaseES使用kwr分析应用系统性能瓶颈

背景

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

当应用系统出现性能问题怀疑是数据库引起的时候,或者数据库资源消耗和性能产出不成正比是,可以通过KWR进行分析。

KWR插件的安装

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

当出现性能问题的时候,可以通过指定时间段来查询相关快照列表,生成KWR报告,定位性能问题的根本原因。

安装插件

ytj=# CREATE EXTENSION sys_kwr;

使用前检查对应参数配置情况,推荐如下:

track_sql = on

track_instance = on -- KWR 1.3 新增参数

track_wait_timing = on

track_counts = on

track_io_timing = on

track_functions = 'all'

sys_stat_statements.track = 'top'

ytj=# show track_sql;

track_sql

-----------

on

(1 行记录)

ytj=# show track_instance;

track_instance

----------------

on

(1 行记录)

ytj=# show track_wait_timing;

track_wait_timing

-------------------

on

(1 行记录)

ytj=# show track_counts;

track_counts

--------------

on

(1 行记录)

ytj=# show track_io_timing;

track_io_timing

-----------------

off

(1 行记录)

ytj=# show track_functions;

track_functions

-----------------

none

(1 行记录)

ytj=# show sys_stat_statements.track;

sys_stat_statements.track

---------------------------

top

(1 行记录)

ytj=#

可以根据自己的实际需求进行调整这些参数;

快速开始

1、创建第一个快照

SELECT * FROM perf.create_snapshot();

2、执行一些sql,或者启动应用跑一些业务;

3、再次创建第二个快照

SELECT * FROM perf.create_snapshot();

4、查看创建的快照:

ytj=# SELECT * FROM perf.kwr_snapshots;

snap_id | snap_time | sess_count | snap_version

---------+------------------------+------------+--------------

1 | 2024-08-16 00:20:14+08 | 75 | 1.6

2 | 2024-08-16 00:21:12+08 | 74 | 1.6

3 | 2024-08-16 00:29:37+08 | 72 | 1.6

4 | 2024-08-16 00:37:40+08 | 92 | 1.6

(4 行记录)

5、生成两个快照的报告

SELECT * FROM perf.kwr_report(3,4,'html');

也可以把报告生成为html文件,通过浏览器打开。

SELECT * FROM perf.kwr_report_to_file(3,4,'html' , '/tmp/rep.html');

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值