zoukankan      html  css  js  c++  java
  • 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秒。 

  • 相关阅读:
    人生苦短_我用Python_javascript_var_function_简单笔记_001
    人生苦短_我用Python_logging日志操作_011
    人生苦短_我用Python_configparser/yaml对配置文件读取/写入操作_010
    人生苦短_我用Python_pymysql库对Mysql数据库操作_009
    人生苦短_我用Python_openpyxl库读取Excel文件数据_008
    人生苦短_我用Python_Try_Exception异常捕捉_007
    命令行下编译打包安卓apk
    构建微服务实验环境
    Docker的安全问题以及一些预防方案
    Go 微服务实践
  • 原文地址:https://www.cnblogs.com/conanwang/p/5978384.html
Copyright © 2011-2022 走看看