MogDB SQLdiag 使用指南
MogDB SQLdiag 使用指南
本文出处:https://www.modb.pro/db/411957
前提条件
需要保证用户提供训练数据。
如果用户通过提供的工具收集训练数据,则需要启用 WDR 功能,涉及到的参数为 track_stmt_stat_level 和 log_min_duration_statement,具体情况见下面小节。
为保证预测准确率,用户提供的历史语句日志应尽可能全面并具有代表性。
按照要求配置 python 3.6+环境及其依赖。
环境配置
本功能运行环境要求 Python 3.6 版本及以上,需要的第三方依赖包记录在 requirements.txt 文件中,可以通过 pip install 命令安装依赖,如:
pip install requirements.txt
SQL 流水采集方法
本工具需要用户提前准备数据,训练数据格式如下,每个样本通过换行符分隔:
SQL,EXECUTION_TIME
预测数据格式如下:
SQL
其中 SQL 表示SQL 语句的文本,EXECUTION_TIME 表示SQL 语句的执行时间,样例数据见 sample_data 中的 train.csv 和 predict.csv。
用户可以按照要求格式自己收集训练数据,工具也提供了脚本自动采集(load_sql_from_rd),该脚本基于 WDR 报告获取 SQL 信息,涉及到的参数有 log_min_duration_statement 和 track_stmt_stat_level:
其中 log_min_duration_statement 表示慢 SQL 阈值,如果为 0 则全量收集,时间单位为毫秒;
track_stmt_stat_level 表示信息捕获的级别,建议设置为 track_stmt_stat_level=‘L0,L0’
参数开启后,可能占用一定的系统资源,但一般不大。持续的高并发场景可能产生 5%以内的损耗,数据库并发较低的场景,性能损耗可忽略。
使用脚本获取训练集方式:
load_sql_from_wdr.py [-h] --port PORT --start_time START_TIME
--finish_time FINISH_TIME [--save_path SAVE_PATH]
例如:
python load_sql_from_wdr.py --start_time "2021-04-25 00:00:00" --finish_time "2021-04-26 14:00:00" --port 5432 --save_path ./data.csv
操作步骤
提供历史日志以供模型训练
进行训练与预测操作:
基于模板法的训练与预测:
python main.py [train, predict] -f FILE --model template --model-path template_model_path
基于DNN的训练与预测:
python main.py [train, predict] -f FILE --model dnn --model-path dnn_model_path
使用方法示例
在本工具的根目录中,执行下列语句可以实现对应功能。
使用提供的测试数据进行模板化训练:
python main.py train -f ./sample_data/train.csv --model template --model-path ./template
使用提供的测试数据进行模板化预测:
python main.py predict -f ./sample_data/predict.csv --model template --model-path ./template --predicted-file ./result/t_result
使用提供的测试数据进行模板化模型更新:
python main.py finetune -f ./sample_data/train.csv --model template --model-path ./template
使用提供的测试数据进行 DNN 训练:
python main.py train -f ./sample_data/train.csv --model dnn --model-path ./dnn_model
使用提供的测试数据进行 DNN 预测:
python main.py predict -f ./sample_data/predict.csv --model dnn --model-path ./dnn_model --predicted-file
使用提供的测试数据进行 DNN 模型更新:
python main.py finetune -f ./sample_data/train.csv --model dnn --model-path ./dnn_mo
MogDB SQLdiag 使用指南的更多相关文章
- JavaScript权威指南 - 函数
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...
- UE4新手之编程指南
虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...
- JavaScript权威指南 - 对象
JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...
- JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...
- const extern static 终极指南
const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的.本文将对此做出非常详细的讲解. co ...
- Atitit.研发管理软件公司的软资产列表指南
Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...
- HA 高可用软件系统保养指南
又过了一年 618,六月是公司一年一度的大促月,一般提前一个月各系统就会减少需求和功能的开发,转而更多去关注系统可用性.稳定性和管控性等方面的非功能需求.大促前的准备工作一般叫作「备战」,可以把线上运 ...
- 第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南
欢迎查看第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南,该处理器可为开发人员和最终用户提供领先的 CPU 和图形性能增强.各种新特性和功能以及显著提高的性能. 本指南旨在帮助软件开发人员 ...
- Visual Studio Code 配置指南
Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...
- Web API 入门指南 - 闲话安全
Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...
随机推荐
- 初识JavaScript逆向——以网易云音乐和招标网站为例
前言:需要掌握一定的JavaScript基础,能看懂基础的JavaScript代码. 我们平常在浏览网站的时候会看到许多加密的参数,如果需要知道它的原始数据,就需要知道整个加密过程,所以本篇文章就来介 ...
- Spring事务(三)-事务传播行为
在Spring里,一个事务方法被另外一个事务方法调用时,两个方法的事务应该如何进行,说白话一点,就是说当出现异常需要回滚时,各个方法的数据操作是否要全部回滚,事务传播行为就是决定了这样的一个处理结果. ...
- ubuntu spyder3 颜色重置为暗色
天杀的微软,爷用的是正版的专业版windows10还给爷推送个拿屁股作出来的系统 20H2 ,所有被强制更新的用户都不同程度的黑屏.卡顿.重启.还是ubuntu大法啊! 在ubuntu上换源下载vlc ...
- 基于C#的壁纸管理器(插件版) - 开源研究系列文章
这几天无聊,想到原来的壁纸管理器应用能够实现成插件的形式,然后思考了一下,打算把原来壁纸管理器的代码用插件形式来进行实现,于是经过几天的努力,终于完成了插件版的壁纸管理器.以前有写过C#的插件的例子( ...
- ubuntu20 宽带连接
nmcli connection edit type pppoe con-name "连接名称" set pppoe.username 宽带账号 set pppoe.passwor ...
- C++ kmalloc、kzalloc、vmalloc的区别
1. kmalloc 函数原型: void *kmalloc(size_t size, gfp_t flags): kmalloc() 申请的内存位于物理内存映射区域,而且在物理上也是连续的,它们与真 ...
- LOTO示波器参加2023第101届中国(深圳)电子展
西安乐拓精益信息科技有限公司,专注研发虚拟测量仪器,以虚拟示波器(USB示波器)以及相关衍生产品为主,包括信号发生器,逻辑分析仪等.乐拓科技以研发团队为核心,着力开发高性价比的示波器产品.无论您是资深 ...
- KingbaseES V8R3 集群运维系列 -- 修改数据库服务端口
案例说明: KingbaseES V8R3集群数据库服务端口(默认:54321)的配置在数据库及集群多个配置文件中都存在,修改端口需要更改所有的配置文件,本案例详细描述了数据库服务端口修改操作步骤 ...
- KingbaseES json操作符
下表列出了常用的json数据类型操作符: 操作符 操作符右侧数据类型 返回类型 描述 -> int json or jsonb 获得 JSON 数组元素(索引从 0 开始,负整数从末尾开始计) ...
- gRPC入门学习之旅(四)
gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) 实现定义的服务 9.在"解决方案资源管理器"中,使用鼠标左键选中"Services&q ...