人大金仓学习之二_ksh和kddm的学习


摘要

承接上一篇文章
主要是这里总结一下ksh相关的文档. 这里学习了很多文档:
https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-kddm
https://help.kingbase.com.cn/v8/perfor/sql-optimization/index.html

说明

安装和还是用不在阐述
快速学习一下ksh相关的内容等.
注意上一篇仅是kwr,这边会完整一些.

配置文件修改

# 新增获取修改为:
shared_preload_libraries = 'sys_kwr,sys_ksh,sys_stat_statements,liboracle_parser' # 性能计数器相关为:
track_activities = on
track_sql = on
track_instance = on
track_wait_timing = on
track_counts = on
track_io_timing = on
track_functions = 'all'
sys_stat_statements.track = 'top'
sys_stat_statements.track_parse = on
sys_stat_statements.track_plan = on
sys_stat_statements.max = 10000
sys_kwr.ringbuf_size = 200000
sys_kwr.enable = on
sys_kwr.history_days = 14
sys_kwr.interval = 30 sys_kwr.collect_ksh = on

ksh的相关使用

# 注意如果没有需要创建extension
与 kwr的命令类似: CREATE EXTENSION sys_kwr;
需要创建ksh的扩展.
create extension sys_ksh;
# 内存内的数据可以如此查看
SELECT * FROM perf.session_history;
# 数据库的历史视图
SELECT * FROM perf.ksh_history;
# 生成报告
SELECT * FROM perf.ksh_report({start_ts}, {duration}, {slot_width}, {format}); start_ts: 报告开始时间,默认:当前时间-15分钟
duration: 报告时长,默认:15分钟,最大不超过60
slot_width: 报告最小区间,输入0时系统自动计算合适的宽度,默认:0
format: 报告生成格式,可选择 ’html’和’text’两种格式,默认 TEXT 格式 select * from perf.ksh_report('2023-07-01 09:00:00',15,0,'text'); # 生成报告到文件
select * from perf.ksh_report_to_file('2023-07-01 09:00:00',15,0,'E:\zhaobsh_ksh.html','html'); # 根据kwr的快照生成报告
select * from perf.ksh_report_to_file_by_snapshots(1,2,'e:\zhaobsh_kwr_toksh.html','html'); 很多学习文档其实是在:
https://help.kingbase.com.cn/v8.6.7.12/development/sql-plsql/ref-extended-plug-in/sys_stat_statements.html
中.

kddm的使用

Study from :
https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-kddm # 如果不存在则创建, 需要修改配置文件如上一节
CREATE EXTENSION sys_kwr;
SELECT * FROM perf.create_snapshot();
create table t1 (nametest varchar(30));
INSERT INTO t1 SELECT generate_series(1, 1000000);
SELECT * FROM perf.create_snapshot();
SELECT * FROM perf.kddm_report(1,2); 可以查看一个文本样式的 kddm 报告.

kddm的使用之二

# 可以保存成 txt文件进行查看
SELECT * FROM perf.kddm_report_to_file(1, 2, 'e:\zhaobsh_kddm.txt'); # 注意当参数如此时 可以进行更加详细的结果
sys_stat_statements.track = 'all' # 可以使用 如下语句获取参数优化使用说明
SELECT * FROM perf.kddm_guc_advisor();

kwrdiff 的使用

select * from perf.kwr_diff_report({snap_1}, {snap_2}, {snap_3}, {snap_4})
可以在 data/sys_log 下面生成一个结果文件
文件名字为: kwr_diff_1_2_3_4_20220531_140633.html,即前缀kwr_diff_4个快照ID_年月日_时分秒.html。 如果保存文件为:
perf.kwr_diff_report_to_file({snap_1}, {snap_2}, {snap_3}, {snap_4}, {file_path})

谢谢关注我的公众号一起学习进步

人大金仓学习之二_ksh和kddm的学习的更多相关文章

  1. 通过ODBC接口访问人大金仓数据库

      国产化软件和国产化芯片的窘境一样,一方面市场已经存在性能优越的同类软件,成本很低,但小众的国产化软件不仅需要高价买入版权,并且软件开发维护成本高:另一方面,国产软件目前普遍难用,性能不稳定,Bug ...

  2. DBeaver连接达梦|虚谷|人大金仓等国产数据库

    前言 工作中有些项目可能会接触到「达梦.虚谷.人大金仓」等国产数据库,但通常这些数据库自带的连接工具使用并不方便,所以这篇文章记录一下 DBeaver 连接国产数据库的通用模版,下文以达梦为例(其他国 ...

  3. QT 之 ODBC连接人大金仓数据库

    QT 之 使用 ODBC 驱动连接人大金仓数据库 获取数据库驱动和依赖动态库 此操作可在人大金仓官网下载与系统匹配的接口动态库,或者从架构数据库的源码中获取驱动和依赖动态库 分别为: 驱动动态库:kd ...

  4. 教你10分钟对接人大金仓EF Core 6.x

    前言 目前.NET Core中据我了解到除了官方的EF Core外,还用的比较多的ORM框架(恕我孤陋寡闻哈,可能还有别的)有FreeSql.SqlSugar(排名不分先后).FreeSql和SqlS ...

  5. 通过jmeter连接人大金仓数据库

    某项目用的人大金仓数据库,做性能测试,需要用jmeter来连接数据库处理一批数据.jmeter连接人大金仓,做个记录. 1. 概要 在"配置元件"中添加"JDBC Con ...

  6. 人大金仓KCI

    #include "bin/libkci.h" static void exit_nicely(KCIConnection *conn) { KCIConnectionDestor ...

  7. Quartz定时任务学习(二)web应用/Quartz定时任务学习(三)属性文件和jar

    web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用 ...

  8. 轻松学习JavaScript二十七:DOM编程学习之事件模型

    在介绍事件模型之前,我们先来看什么是事件和什么是event对象. 一事件介绍 JavaScript事件是由訪问Web页面的用户引起的一系列操作,使我们有能力创建动态页面.事件是能够被 JavaScri ...

  9. Rplidar学习(二)—— SDK库文件学习

    SDK头文件介绍 1.头文件简介: rplidar.h //一般情况下开发的项目中仅需要引入该头文件即可使用 RPLIDAR SDK 的所有功能. rplidar_driver.h //定义了 SDK ...

  10. jFinal 2.2入门学习之二:使用sqlserver数据库学习搭建jfinal-demo框架(MySQL的话就不需要看这个了)

    1.去官网下载最新的jfinal_Demo(我这是JFinal-2.2) 2.解压demo源码,eclipse导入项目 3.本地创建数据库,修改信息,(注意:如果sqlserver端口号冲突,需要配置 ...

随机推荐

  1. Golang 命名返回值和普通返回值

    1.概述 在Go语言中,函数可以有命名返回值和普通(匿名)返回值.命名返回值会被视为定义在函数顶部的变量,并且在使用 return 语句返回时,不再必须在其后面指定参数名,也就是支持"裸&q ...

  2. Java异常处理之数字溢出问题

    在进行 Java 开发时,经常会遇到数字溢出的问题.这个问题在很多程序中都非常常见,尤其是在进行数值计算的时候.Java 中提供了一种异常机制来处理这种情况,我们可以在代码中使用 try-catch ...

  3. CSS 基础 3 - 定位 Postion 属性

    CSS 基础 3 - 定位 Postion 属性 static position 属性的默认值,元素随 HTML 流移动 top/left/right/bottom 属性无效 relative 和 s ...

  4. 面试官:String长度有限制吗?是多少?还好我看过

    前言 话说Java中String是有长度限制的,听到这里很多人不禁要问,String还有长度限制?是的有,而且在JVM编译中还有规范,而且有的家人们在面试的时候也遇到了,本人就遇到过面试的时候问这个的 ...

  5. 高效联调,可靠发布!华为云推出CodeArts Release发布管理服务

    摘要:华为云全新推出CodeArts Release发布管理服务,旨在将华为多年形成的发布实践外溢,帮助企业提升软件发布质量和效率,降低生产环境的发布风险. 本文分享自华为云社区<高效联调,可靠 ...

  6. DevOps敏捷60问,一定有你想了解的问题

    摘要:问题覆盖了规划设计.开发集成.测试.部署发布.运维监控等DevOps落地实践中的关键疑点与难点. "DevOps的价值是又快又好地交付软件" --<凤凰项目>的作 ...

  7. 【CVPR2022】用于域适应语义分割的域无关先验

    摘要:本文给大家分享一篇我们在CVPR 2022 上发表的paper:Domain-Agnostic Prior for Transfer Semantic Segmentation.文章提出了一种图 ...

  8. HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers

    摘要:不是所有的web容器都能帮助开发者屏蔽hop-by-hop headers,有些容器反而允许开发者自定义hop-by-hop headers来实现更大程度的灵活性. 本文分享自华为云社区< ...

  9. 基于AIO架构smarthttp开发的完整MVC框架

    基于AIO架构smarthttp开发的完整MVC框架 写了篇<基于jdk自带httpserver开发的最小完整MVC框架>,就再写篇AIO的MVC DEMO启动时间:0.1s(应该算少的吧 ...

  10. Axure 获取验证码

    拖两个矩形框,一个用来做文档输入,一个做获取验证码的按钮 设置全局变量OnLoadVariable的初如值为60 1.用例中的条件:当OnLoadVariable的值不等于0 2.用例中的步骤 禁用& ...