[转帖]3.3.7. 自动诊断和建议报告SYS_KDDM

自动,诊断,建议,报告,sys,kddm · 浏览次数 : 0

小编点评

**KingbaseES 性能自动诊断和建议报告 (KDDM) 介绍** **概述** KingbaseES 性能自动诊断和建议报告 (KDDM) 是 KingbaseES 性能分析工具的一部分,可用于分析数据库性能指标,自动生成性能优化建议。 **主要功能** * 基于 KWR 快照采集的性能指标和数据库时间模型(DB Time)分析等待事件、IO、网络、内存和 SQL 执行时间。 * 给出一系列性能优化建议,可实现数据库性能的快速提升。 * 支持 TEXT 格式的 KDDM 报告,但不支持 HTML 格式输出。 **配置 GUC 参数** KDDM 提供 GUC 参数建议功能,可根据数据库服务器的硬件情况和用户指定的业务类型定制化参数列表。 **创建 KDDM 报告** 可以使用 `CREATE EXTENSION sys_kwr` 命令创建 KDDM 报告。支持生成 kddm 和 sql 报告。 **使用 KDDM** 1. 设置 GUC 参数。 2. 生成 kddm 报告。 3. 生成 sql 报告。 **示例报告** KDDM 报告包含以下内容: * 数据库时间分解报告CPU 相关建议 * 使用索引建议的报告 * 优化建议 * GUC 参数建议 **结论** KDDM 是一个有用的工具,可帮助您优化 KingbaseES 数据库的性能。通过使用 KDDM,您可以快速发现并解决性能问题,从而提高数据库的效率。

正文

 https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-ksh

KDDM 是 KingbaseES 性能自动诊断和建议的报告。它基于 KWR 快照采集的性能指标和数据库时间模型(DB Time),自动分析等待事件、IO、网络、内存和 SQL 执行时间等,给出一系列性能优化建议。通过 KDDM 报告,能够实现数据库性能的快速调优。

KDDM 存在于 KWR 插件里,和 KWR 一起对外提供服务。

目前 KDDM 报告仅支持 TEXT 格式,不支持 HTML 格式输出。

3.3.7.1. 快速生成 KDDM 报告 

通过 KWR 自动快照或者手动快照创建一系列 KWR 快照,然后就可以通过 perf.kddm_report({snap_1}, {snap_2}) 来创建 KDDM 报告:

CREATE EXTENSION sys_kwr;
SELECT * FROM perf.create_snapshot();
INSERT INTO t1 SELECT generate_series(1, 1000000);
SELECT * FROM perf.create_snapshot();
SELECT * FROM perf.kddm_report(1,2);

生成的报告如下:

SELECT * FROM perf.kddm_report(1,2);
../../_images/image932.png

3.3.7.2. 使用 KDDM 

3.3.7.2.1. 配置 GUC 参数 

sys_kwr.language:指定 KDDM 报告输出的语言,TEXT类型,有效的值:'english'/'eng'/'chinese'/'chn',默认 'chinese',即按中文显示报告。

说明:KDDM 报告依赖 KWR 快照,关于KWR快照部分 GUC 参数,请参考 KWR 相关章节。

3.3.7.2.2. 生成KDDM报告 

  1. 生成 kddm 报告

SELECT * FROM perf.kddm_report(1, 2);

说明:KDDM 报告也会自动在数据库服务器 DATA 目录的 sys_log 下保存一份。

  1. 生成 kddm 报告并保存到指定文件

SELECT * FROM perf.kddm_report_to_file(1, 2, '/home/test/kddm_1_2.txt');
  1. 为指定 query id 的 SQL 语句生成 SQL 报告

SELECT * FROM perf.kddm_sql_report(1, 2, 5473583404117387630);

根据快照范围和具体的 SQL ID,给出 SQL 详细报告,主要用于分析耗时较多的 SQL 语句占用的 CPU,IO 资源的使用情况。

3.3.7.3. KDDM 报告 

kddm 报告根据 KWR 快照内容,给出以下的建议和报告:

  1. 数据库时间分解报告

  2. CPU 相关建议

    • TOP SQL 建议

    • 使用扩展 SQL 协议建议

    • CPU 负载高建议

    • 优化回滚事务建议

    • 优化堆页面裁剪建议

    • 使用索引建议

  3. 等待事件相关建议

    • TOP 等待事件建议

    • LWLock 类等待事件建议

    • IO 类等待事件建议

    • Client 类等待建议

  4. 完整 SQL 列表

每条具体建议包含三项内容:

  • 建议依据:描述了数据库当前存在的性能问题。

  • 建议动作:按优先级给出性能优化的建议操作,通过指定的操作选项能够改善当前存在的性能问题。

  • 参考信息:描述了当前性能问题的具体指标。

示例报告:TOP SQL 建议

该报告展示可以通过 TOP SQL 找到消耗资源最多的SQL语句,当设置成如下配置参数时,对外提供树状结构显示 TOP SQL 的报告。

sys_stat_statements.track = 'all'
../../_images/image1152.png

示例报告:使用索引建议

该报告展示可以通过使用索引来提高 SQL 性能的建议,不仅给出了具体的 SQL 语句,还会给出创建索引的 DDL 语句,以及预期收益率。

该报告也给出了存在但未被使用的索引,DBA 可以根据实际情况进一步操作。

合理的索引使用可以加速检索过程。

../../_images/image1001.png

3.3.7.4. GUC 参数建议 

KDDM 提供 GUC 参数建议功能,根据数据库服务器的硬件情况和用户指定的业务类型,显示建议结果:

SELECT * FROM perf.kddm_guc_advisor();

--最大连接数:300,使用默认值
--CPU核心数:96,自动获取
--总物理内存:256 GB,自动获取
--应用类型:OLTP,使用默认值
--建议参数列表:
max_connections = 300
shared_buffers = 64GB
effective_cache_size = 192GB
maintenance_work_mem = 2GB
work_mem = 55MB
wal_buffers = 16MB
min_wal_size = 1GB
max_wal_size = 4GB
max_worker_processes = 24
max_parallel_workers_per_gather = 4
max_parallel_workers = 24
max_parallel_maintenance_workers = 4

可以通过制定最大连接数、CPU 核心数、内存大小、业务类型等参数来定制化 GUC 参数建议列表,函数的声明如下:

TEXT perf.kddm_guc_advisor(
   IN conn bigint = 0,
   IN service_type TEXT = 'oltp',
   IN cpu bigint = 0,
   IN memory bigint = 0);

参数说明:

  • conn:最大连接数,默认300,范围:1-1000

  • cpu:CPU 核心数,默认自动获取,范围:1-1000

  • memory:内存大小,单位为 MB,默认自动获取,范围:128MB - 1T

  • service_type:业务类型,默认为 ’oltp’,可选范围:

    • oltp:事务型数据库服务器

    • olap:分析性数据库服务器

    • web:Web服务器

    • desktop:桌面应用

    • mixed:混合应用

与[转帖]3.3.7. 自动诊断和建议报告SYS_KDDM相似的内容:

[转帖]3.3.7. 自动诊断和建议报告SYS_KDDM

https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-ksh KDDM 是 KingbaseES 性能自动诊断和建议的报告。它基于 KWR 快照采集的性能

[转帖]echo 输出不换行-e \c

http://www.my889.com/i/1952 在shell中,echo输出会自动换行。有时候在循环中不希望echo输出换行。代码实现如下: 1 echo -e " \c" # -e 表示开启转义, \c表示不换行 脚本: 1 2 3 4 5 6 7 8 9 #!/bin/bash i=1

[转帖]VMware ESXi 各版本号对照表

本博文转自以下链接: VMware ESXi Release and Build Number History | virten.net vSphere ESXi 7.0 NamePatchDateBuildESXi 7.0 Update 3dESXi_7.0.3-0.35.194825372022

[转帖]CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

https://www.cnblogs.com/hope250/p/8033818.html 自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源。而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个公网 I

[转帖]kingbase(人大金仓)的一些常用表操作语句

包括 1)创建表 2)删除表 3)加字段 4)字段换名 5)字段改类型 6)字段添加注释 7)修改字段为自增类型 8)增加主键 9)查看模式下的表 一、创建和删除表 DROP TABLE IF EXISTS "DZ_RAIN" CASCADE; CREATE TABLE "DZ_RAIN" ( "I

[转帖]命令行安装kvm虚拟机、桥接网络、用virt-manager管理

https://www.shuzhiduo.com/A/Ae5RDQpNzQ/ 前进的code 2022-11-10 原文 宿主机CentOS Linux release 7.2.1511 (Core),内核3.10.0-327.el7.x86_64 1、配置宿主机网络桥接 想让虚拟机有自己的ip且

[转帖]kafka压测多维度分析实战

设置虚拟机不同的带宽来进行模拟压测 kafka数据压测 1、公司生产kafka集群硬盘:单台500G、共3台、日志保留7天。 1.1 版本:1.1.0 2、压测kafka。 2.1 使用kafka自带压测工具:bin/kafka-producer-perf-test.sh 命令参数解释: --num

[转帖]Docker:Python环境Docker镜像瘦身

https://www.jianshu.com/p/c0ad13e0be85 关键字:Docker,Python 原始镜像 封装一个Python 3.7的环境并且安装Python依赖包实现一个机器学习算法预测任务,Dockerfile如下 FROM python:3.7 MAINTAINER xxx

[转帖]zookeeper三节点集群搭建

https://www.jianshu.com/p/1dcfbf45383b 下载zookeeper Apache源 http://archive.apache.org/dist/zookeeper/zookeeper-3.4.7/ wget http://archive.apache.org/di

[转帖]TiDB升级、TiFlash测试及对比ClickHouse

原创 NewSQL 作者:o烟雨潇潇o 时间:2020-05-13 11:53:16 4418 0 TiDB升级、TiFlash测试及对比ClickHouse --2020-05-13 刘春雷 1、汇总 1.1、需求 测试3.0.7 升级至4.0.0-rc 测试部署TiFlash 测试TiFlash