percona server响应时间分布

 

慢查询日志提供花费较长时间执行查询的准备信息,而在数据库中大部分的查询都需要一个非常短的时间来执行。响应时间分布这个功能就是用于分析信息,根据查询执行的时间,通过计数和显示查询花费多长时间的一个工具。用户可以自己定义时间间隔,把0到无穷大分成较小的时间间隔,然后收集其执行时间在每个时间间隔的数目。在复制环境中需要注意,服务器不考虑任何由从服务器SQL线程执行的查询(无论这些SQL是否为缓慢)的时间分布。

通过此功能,我们可以对整体的SQL响应时间分布更加直观,更加了解数据库当前的状态。

 

安装插件

mysql> INSTALL PLUGIN QUERY_RESPONSE_TIME_AUDIT SONAME 'query_response_time.so';
mysql> INSTALL PLUGIN QUERY_RESPONSE_TIME SONAME 'query_response_time.so';
mysql> INSTALL PLUGIN QUERY_RESPONSE_TIME_READ SONAME 'query_response_time.so';
mysql> INSTALL PLUGIN QUERY_RESPONSE_TIME_WRITE SONAME 'query_response_time.so';
 
mysql> SHOW PLUGINS;
...
| QUERY_RESPONSE_TIME         | ACTIVE   | INFORMATION SCHEMA | query_response_time.so | GPL     |
| QUERY_RESPONSE_TIME_AUDIT   | ACTIVE   | AUDIT              | query_response_time.so | GPL     |
| QUERY_RESPONSE_TIME_READ    | ACTIVE   | INFORMATION SCHEMA | query_response_time.so | GPL     |
| QUERY_RESPONSE_TIME_WRITE   | ACTIVE   | INFORMATION SCHEMA | query_response_time.so | GPL     |
+-----------------------------+----------+--------------------+------------------------+---------+

开启查询响应时间状态

mysql> SET GLOBAL query_response_time_stats = on;
 
该参数默认不开启,要想mysql启动就启用此参数,需要在配置文件中添加

[mysqld]

query_response_time_stats =on

 

默认会将记录的状态保存到INFORMATION_SCHEMA库中的QUERY_RESPONSE_TIME,QUERY_RESPONSE_TIME_READ, QUERY_RESPONSE_TIME_WRITE 3张表中,以内存表的方式存在,可以通过SELECT来查看。
 
mysql> SELECT * from INFORMATION_SCHEMA.QUERY_RESPONSE_TIME;
+----------------+--------+----------------+
| TIME           | COUNT  | TOTAL          |
+----------------+--------+----------------+
|       0.000001 |      0 |       0.000000 |
|       0.000010 |    708 |       0.003590 |
|       0.000100 |  75632 |       4.249300 |
|       0.001000 | 107033 |      14.686619 |
|       0.010000 |    369 |       1.159361 |
|       0.100000 |    321 |       8.595504 |
|       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)

相关参数设置

mysql> SHOW VARIABLES LIKE 'QUERY_RESPONSE_TIME%';
+--------------------------------+-------+
| Variable_name                  | Value |
+--------------------------------+-------+
| query_response_time_flush      | OFF   |
| query_response_time_range_base | 10    |
| query_response_time_stats      | ON    |
+--------------------------------+-------+
3 rows in set (0.00 sec)
 
query_response_time_flush  刷新记录值,可通过SET GLOBAL query_response_time_flush='ON';的方式来执行刷新操作,执行此操作将清空QUERY_RESPONSE_TIME,QUERY_RESPONSE_TIME_READ, QUERY_RESPONSE_TIME_WRITE 3张表中收集的数次,并且会重新读取query_response_time_range_base的值应用到新的记录中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值