![](https://img-blog.csdnimg.cn/da487bafa865492fb3e304586f0f9d93.png)
2、关于KWR插件
KWR 以插件的形式存在于 KES 产品中,目前 V8R6 中的最新版本是 1.3。 如果开启了 KWR 自动快照功能,会自动在test库上创建该插件。可以通过 SQL 语句在目标库上创建:
CREATE EXTENSION SYS_KWR;
KWR 依赖sys_stat_statements 插件(1.9 版本),该插件是内置插件,会在所有库上自动被创建。以下是创建 KWR 插件后查到的信息
3、关于KWR原理简介
KWR 的基本原理:数据库实例运行过程中不断产生一些统计数据,比如对某个表的访问次数,数据页的内存命中次数,某个等待事件发生的次数和总时间,SQL 语句的解析时间等,这些统计数据被一个叫做 KWR collector 的后台性能监控进程周期性地(默认每小时)自动采集,存储KWR 快照库里面,这些快照默认保存 8 天,到期后那些旧的快照被自动删除。当出现性能问题的时候,可以通过指定时间段来查询相关快照列表,生成 KWR 报告,定位性能问题的根本 原因。 其他性能组件比如 KDDM,基于 KWR 快照提供自动建议。
2、几个参数的说明如下:
track_sql:统计 SQL 时间、SQL 等待事件、SQL IO,默认为off,建议开启
track_instance:统计实例级 IO、锁、关键活动,默认为off,建议开启
track_wait_timing:统计累积式等待事件的时间,默认为on,建议开启
track_counts:统计数据库活动,默认为on
track_io_timing:统计IO耗时,默认为off,建议开启
track_functions:统计用户自定义函数使用情况,默认为’none’,建议’all
sys_stat_statements.track = 'top' KWR 依赖 sys_stat_statements 插件采集 TOP SQL 统计数据,建议开启以下 GUC 参数,否则 会提示警告,且部分报告(Top SQL)没有内容
sys_kwr.enable:开启 kwr 自动快照默认为关
sys_kwr.topn:显示 kwr 报告中排名前 n 条的信息,默认为 20,最少为10,最多为 100
sys_kwr.history_days:快照保留日期,默认为8天,最少1天,最多1000天
sys_kwr.interval:自动快照间隔,默认60分钟,最短10分钟,最长144000分钟(100天)
sys_kwr.language:KWR 报告使用语言,默认为中文(chinese 或 chn),可选为英文(english 或 eng)
3、参数配置要求:
1. 要打开自动快照功能,需要将sys_kwr.enable 设置为 on
2. 任何情况下都可以执行:SELECT* FROM perf.create_snapshot(); 来手工创建快照
3. 自动快照会在 test 库上创建 sys_kwr 插件
4. shared_preload_libraries 里至少包含:liboracle_parser, sys_kwr, sys_stat_statements
4、使配置文件中参数生效
sys_ctl restart -D /opt/Kingbase/ES/V8/data
5、创建KWR扩展
2、 快照查询
select* from perf.kwr_snapshots;
4、 清理快照
SELECT perf.drop_snapshots(1, 3); --清理指定范围的快照,snap_id=1和snap_id=3之间
SELECT perf.reset_snapshots(); --清理所有的快照
drop extension sys_kwr; --清理插件之后,所有的快照删除
5、定期清理快照
修改KES的GUC参数
sys_kwr.history_days:快照保留日期,默认为8天,最少1天,最多1000天
![](https://img-blog.csdnimg.cn/6e072db4a4694e2cae74ef081d42bae5.png)
![](https://img-blog.csdnimg.cn/7ce881d6c40648a3af2522bc909ebffa.png)
![](https://img-blog.csdnimg.cn/c07490fbf7b847cab114c49a3407d9e8.png)
(3)如果想将生成KWR报告保存到指定的磁盘目录下,用kwr_report_to_file()函数,第
4 个参数指定文件全路径:
SELECT * FROM perf.kwr_report_to_file(1,2,'text','/home/test/kwr_6_8.text');
2、生成html格式报告
使用perf.kwr_report()函数
SELECT * FROM perf.kwr_report(6,8,'html');
注:生成的报告自动保存到data目录的sys_log子目录下,可以通过图形化工具打开查看。
查看图形化文件位置如下图
打开HTML格式文件查看快照内容如下图所示