MariaDB的"response time"插件

“响应时间”是衡量数据库性能的常用指标。在MariaDB中可以使用插件“QUERY_RESPONSE_TIME”来获取查询时间区间的统计信息。

// 安装插 

$ cd ${mysql_base}/lib/plugin
$ ll
-rw-r--r--. 1 root root 403898 Feb 25 01:15 query_response_time.so

MariaDB [(none)]> install plugin query_response_time_audit soname ‘query_response_time.so‘;

MariaDB [(none)]> install plugin query_response_time soname ‘query_response_time.so‘;

MariaDB [(none)]> show plugins;

... | QUERY_RESPONSE_TIME_AUDIT | ACTIVE | AUDIT | query_response_time.so | GPL |

| QUERY_RESPONSE_TIME | ACTIVE | INFORMATION SCHEMA | query_response_time.so | GPL |

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

// 参数说明

MariaDB [(none)]> show variables like ‘query_response%‘;
+--------------------------------+-------+
| Variable_name | Value |
+--------------------------------+-------+
| query_response_time_flush | OFF |
| query_response_time_range_base | 10 |
| query_response_time_stats | OFF |
+--------------------------------+-------+
3 rows in set (0.00 sec)

query_response_time_flush

Description: Updating this variable flushes the statistics and re-reads query_response_time_range_base. 
Commandline: None 
Scope: Global 
Dynamic: Yes 
Data Type: boolean 
Default Value: OFF

query_response_time_range_base 
Description: Select base of log for QUERY_RESPONSE_TIME ranges. WARNING: variable change takes affect only after flush. 
Commandline: --query-response-time-range-base=# 
Scope: Global 
Dynamic: Yes 
Data Type: numeric 
Default Value: 10 
Range: 2 to 1000

if the range base=10, we have the following intervals: 
(0; 10 ^ -6], (10 ^ -6; 10 ^ -5], (10 ^ -5; 10 ^ -4], ...,  
  (10 ^ -1; 10 ^1], (10^1; 10^2]...(10^7; positive infinity]

query_response_time_stats 
Description: Enable or disable query response time statistics collecting 
Commandline: query-response-time-stats[={0|1}] 
Scope: Global 
Dynamic: Yes 
Data Type: boolean 
Default Value: OFF

// 打开统计

MariaDB [(none)]> set global query_response_time_stats = 1;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> set global query_response_time_flush=‘ON‘;
Query OK, 0 rows affected (0.00 sec)

MariaDB [information_schema]> select * from information_schema.QUERY_RESPONSE_TIME;
+----------------+-------+----------------+
| TIME | COUNT | TOTAL |
+----------------+-------+----------------+
| 0.000001 | 0 | 0.000000 |
| 0.000010 | 0 | 0.000000 |
| 0.000100 | 70 | 0.002200 |
| 0.001000 | 16 | 0.005615 |
| 0.010000 | 0 | 0.000000 |
| 0.100000 | 0 | 0.000000 |
| 1.000000 | 0 | 0.000000 |
| 10.000000 | 0 | 0.000000 |
| 100.000000 | 0 | 0.000000 |
| 1000.000000 | 0 | 0.000000 |
| 10000.000000 | 0 | 0.000000 |
| 100000.000000 | 0 | 0.000000 |
| 1000000.000000 | 0 | 0.000000 |
| TOO LONG | 0 | TOO LONG |
+----------------+-------+----------------+
14 rows in set (0.00 sec)

// 分析 
从上面的记录可知: 
有70个查询的执行时间在0.000010秒<query execution time < =0.000100秒这个区间里;耗时总计0.002200秒。 
有16个查询的执行时间在0.000100秒<query execution time < =0.001000秒这个区间里;耗时总计0.005615秒。

时间: 2024-12-14 18:44:18

MariaDB的"response time"插件的相关文章

mariadb安装

MariaDB的特性: 插件式存储引擎:存储管理有多重实现版本,功能和特性可能均略有差别:用户可以根据需求灵活选择: 存储引擎也称为表类型 1.更多的存储的存储引擎 MyISAM-->Aria InnoDB-->XtraDB 2.诸多扩展和新特性 3.提供了较多测试组件 4.truly open source 安装和使用Mariadb Centos 7 直接yum安装 Centos 6 编译安装 通用二进制格式安装: 1.准备数据目录 以/mydata/data为例 2.配置mariadb g

mariadb操作审计

mariadb可以启用审计插件来对数据库的各种操作进行审计,以防运维背锅! 启用MariaDB的审计插件,并调整相关参数 MariaDB [(none)]> show variables like '%audit%'; Empty set (0.02 sec) 安装MariaDB审计插件 MariaDB [(none)]> INSTALL PLUGIN server_audit SONAME 'server_audit'; Query OK, 0 rows affected (0.41 sec

yaf零基础学习总结7-学习使用Yaf中的插件

Yaf支持用户定义插件来扩展Yaf的功能, 这些插件都是一些类. 它们都必须继承自Yaf_Plugin_Abstract. 插件要发挥功效, 也必须现实的在Yaf中进行注册, 然后在适当的实际, Yaf就会调用它. 也许大家会问这个插件是个什么概念,有什么用呢,其实我们用插件主要是用到Yaf框架中支持的Hook(钩子),Yaf中定义了6个Hook,他们分别是: Yaf中支持的6个Hook 1.routerStartup 这个会在路由之前出发,也就是路由之前会调用这个Hook ,这个是7个事件中,

Mariadb Cluster+Haproxy+keepalived 集群的详细安装与配置

要点概括 1.关闭iptables 或者设置常用端口为accept(关闭省事) 2.修改/etc/hosts ,设置RSA互信,避免在传文件需要密码 3.使用mariadb或者其他版本的DB带有WSREP功能 4.修改配置文件,在原来初始化的基础上加上WSREP的参数 5.启动第一个节点 6.在第一节点设置其他2节点的连接用户名和密码和配置文件设置一致 7.初始化启动其他节点 8.集群负载均衡和单点故障使用haproxy+keepalived 9.Haproxy+cluster状态检测 10.h

【转】对Django框架架构和Request/Response处理流程的分析

本文转载于疯狂的蚂蚁. 一. 处理过程的核心概念 如下图所示django的总览图,整体上把握以下django的组成: 核心在于中间件middleware,django所有的请求.返回都由中间件来完成. 中间件,就是处理HTTP的request和response的,类似插件,比如有Request中间件.view中间件.response中间件.exception中间件等,Middleware都需要在 "project/settings.py" 中 MIDDLEWARE_CLASSES 的定

MySQL/MariaDB基础

数据库管理系统很早就有了,在最开始时,数据库管理的结构是层次化的,即层次模型,它是一个树形结构,可以通过有限次的查找来定位需要的数据,然而,这种查找还是需要遍历才能实现,所以这种模型应用时间不长久:之后有了网状模型,也就是多个树的集合:层次模型和网状模型都称为非关系型数据库.之后由Edgar Frank Codd提出了一个关系型数据库的模型,从此之后就有了关系模型,其中Oracle公司就是以此为原型开发了Oracle数据库:到现在又提出了反关系模型--No-SQL,它是非关系型的数据库,例如:键

关于数据库管理系统DBMS--关系型数据库(MySQL/MariaDB)

数据库管理系统--DBMS:用来管理数据库 数据库的结构(3种):层次,网状,关系型(用的最多): DBMS的三层模型: 视图层:面向最终用户: 逻辑层:面向程序员或DBA: 物理层:面向系统管理员: 关系型数据库管理系统--RDBMS: 主要的组成部分是表:表是由行(实例,实体,记录)和列(字段,域)组成: 关系型数据库管理系统的实现: 商业方案:Oracle,Sybase{为微软提供了思路出现SQL-server},Infomix{IBM收购},DB2{IBM} 开源方案:PostgreSQ

mariadb(mysql)基本介绍

mariadb(mysql): 数据结构模型:层次模型.网状结构.关系模型 关系模型: 二维关系:row, column 数据库管理系统:DBMS 关系:Relational,RDBMS 补充材料:RDMBS设计范式基础概念 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小. 目前关系数据库有六种范式:第一范式(1NF).第二范式(2NF).第三范式(3NF).巴德斯科范式(BCNF).第四范式(4N

数据库内置审计功能

作为一名dba,有时候,总会遇到数据库某个库,某个表,某个字段异常,或者数据被莫名的删除了,这个时候大家各种推断是不是bug了啊,是不是被黑了啊...这个时候一个审计功能就凸显出来了. mariadb数据库对审计插件(server_audit.so)支持比较良好,今天我们进行一个简单安装和测试 安装方法也很简单:INSTALL SONAME "server_audit.so" 这样就安装完成了,我们可以看看对应的参数变量 这些参数和变量都是可以动态设置的,具体参数说明,见官网:http