ITPub博客

首页 > 数据库 > 国内数据库 > Tidb 运维--集群视图的使用

Tidb 运维--集群视图的使用

原创 国内数据库 作者:jhon_lee 时间:2022-05-01 15:00:05 0 删除 编辑

登录 Tidb

登录任意 Tidb  S erver 节点。

mysql -h192.168.0.1 -P4000 -uroot  -p 'xxxx' -A


不登录仅执行 SQL

mysql -h192.168.0.1 -P4000 -uroot  -p 'xxxxx' -A information_schema -e ‘select * from cluster_processlist where info is not null\G’ > /tmp/a


直接登录某数据库

mysql -h192.168.0.1 -P4000 -uroot  -p 'xxxxx' -A INFORMATION_SCHEMA


 

登录后查看有哪些数据库:

MySQL [(none)]> show databases;
+-----------------------------------+
| Database             
+-----------------------------------+
| INFORMATION_SCHEMA        
| METRICS_SCHEMA          
| PERFORMANCE_SCHEMA        
| mysql               
| test                
+-----------------------------------+
7 rows in set (0.00 sec)


Tidb cluster 视图

视图

作用

SQL

CLUSTER_PROCESSLIST

查询会话信息

1 )实时 TOP SQL 执行次数、平均时间维度

2 )实时 TOP 10 SQL 按执行时间排序

3 )实时按照 ID 杀进程

CLUSTER_SLOW_QUERY

查询慢 SQL

1 )查询慢 SQL Text

2 )查询慢 SQL 平均时间执行次

CLUSTER_STATEMENTS_SUMMARY

近 3 0 分钟 TOP SQL

1 )查询近 3 0 分钟 TOP SQL

CLUSTER_STATEMENTS_SUMMARY_HISTORY

3 0 分钟后持久话 TOP SQL

目前发现持久化并未按照理想情况持久,需要再观察一下。

CLUSTER_LOAD

查询负载信息

-

CLUSTER_HARDWARE

查询硬件信息

-

CLUSTER_CONFIG

查询集群配置信息

-

CLUSTER_LOG

查询集群日志信息

-

CLUSTER_SYSTEMINFO

查询系统新系统配置信息

-

 

CLUSTER_PROCESSLIST

cluster_processlist   视图类似于 gv$session 用于查看会话信息

TOP SQL 执行次数平均时间维度

select substr(INFO,1,100) sql_text,avg(TIME),count(*) cc 
from cluster_processlist where info!=‘NULL’ group by substr(INFO,1,100)  order by count(*);


 

TOP 10 SQL 按执行 SQL 平均时间排序

select current_time;
select * from (
select ID,INSTANCE,INFO,max(TIME) max_time from cluster_processlist 
where INFO like ‘update%’ group by  INSTANCE,ID,INFO order by max(TIME) desc
) a limit 10;


 

按照 ID 杀进程

MySQL [nlc]> show processlist
    -> ;
+--------+------+----------------+--------------------+---------+-------+-------+------------------------------------------------------------------------------------------------------+
| Id     | User | Host           | db                 | Command | Time  | State | Info                                                                                                 |
+--------+------+----------------+--------------------+---------+-------+-------+------------------------------------------------------------------------------------------------------+
| 428968 | root | 10.116.119.143 | information_schema | Query   |   110 | 2     | SELECT
  Digest,
  Conn_ID,
  (UNIX_TIMESTAMP(Time) + 0E0) AS timestamp,
  Query,
  Query_time,
  Me |
| 438151 | nlc  | 10.116.128.76  | nlc                | Sleep   |   851 | 2     | NULL                                                                                                                                                                                                
| 437697 | nlc  | 10.116.128.76  | nlc                | Execute |     0 | 2     |  select a.tot_nav, a.cfm_date, a.nav from tbprddaily a where a.prd_code = ? and a.cfm_date <= ?  and |
+--------+------+----------------+--------------------+---------+-------+-------+------------------------------------------------------------------------------------------------------+
......
...
 
MySQL [nlc]> kill tidb 428968;
Query OK, 0 rows affected (0.00 sec)

select TIME e_time,INSTANCE,’ :--kill tidb ‘ || ID |;| FROM cluster_processlist 
where INFO like ‘update%’ order by e_time desc;


CLUSTER_SLOW_QUERY

Dash board 中慢查询出处

查询慢 SQL Text

格式化后 SQL:

SELECT Query
,count(*)
,round(avg(Query_time), 1) etime
FROM CLUSTER_SLOW_QUERY
WHERE TIME > ‘2022-03-07 09:00:00.647448’
AND TIME < ‘2022-03-07 09:30:00.647448’
AND Query LIKE ‘update%tbprddailychg %force index (index1) set%’
GROUP BY Query
ORDER BY Query
,count(*);



查询慢 SQL平均时间执行次
   

SELECT date_format(TIME, ‘%Y-%m-%d %H:%i’) AS stime
,round(avg(Query_time), 1) etime
,count(*) cc
FROM INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
WHERE TIME > ‘2022-03-07 09:00:00.647448’
AND TIME < ‘2022-03-07 09:30:00.647448’
AND Query LIKE ‘update tbprddailychg force index (index1) set net_red_vol = net_red_vol 
where trans_date = cast(2022%’
GROUP BY date_format(TIME, ‘%Y-%m-%d %H:%i’)
ORDER BY stime;


+------------------+-------+-----+ 
| stime       | etime | cc  |
+------------------+-------+-----+
| 2022-03-07 09:00 |  5.2 |  76 |
| 2022-03-07 09:01 |  17.3 | 108 |
| 2022-03-07 09:02 |  27.0 | 113 |
| 2022-03-07 09:03 |  40.4 |  99 |
| 2022-03-07 09:04 |  41.7 |  92 |
| 2022-03-07 09:05 |  38.9 | 127 |
| 2022-03-07 09:06 |  37.1 | 130 |
| 2022-03-07 09:07 |  36.8 | 109 |
| 2022-03-07 09:08 |  35.4 | 105 |
| 2022-03-07 09:09 |  37.9 | 117 |
| 2022-03-07 09:10 |  33.6 | 103 |
| 2022-03-07 09:11 |  37.8 | 123 |
| 2022-03-07 09:12 |  34.9 | 111 |
| 2022-03-07 09:13 |  29.9 | 116 |
| 2022-03-07 09:14 |  31.2 | 105 |
| 2022-03-07 09:15 |  32.2 | 117 |
| 2022-03-07 09:16 |  33.6 |  83 |
| 2022-03-07 09:17 |  41.2 |  75 |
| 2022-03-07 09:18 |  37.2 |  74 |
| 2022-03-07 09:19 |  32.0 |  53 |
| 2022-03-07 09:20 |  27.7 |  50 |
| 2022-03-07 09:21 |  25.7 |  65 |
| 2022-03-07 09:22 |  28.1 |  47 |
| 2022-03-07 09:23 |  28.3 |  40 |
| 2022-03-07 09:24 |  18.7 |  50 |
| 2022-03-07 09:25 |  18.5 |  52 |
| 2022-03-07 09:26 |  25.9 |  52 |
| 2022-03-07 09:27 |  28.6 |  55 |
| 2022-03-07 09:28 |  22.4 |  53 |
| 2022-03-07 09:29 |  23.8 |  59 |
+------------------+-------+-----+
30 rows in set (1.40 sec)


CLUSTER_STATEMENTS_SUMMARY  查看 T OP SQL 使用

statements_summary 是 information_schema 里的一张系统表,它把 SQL 按 SQL digest 和 plan digest 分组,统计每一组的 SQL 信息。

此处的 SQL digest 与 slow log 里的 SQL digest 一样,是把 SQL 规一化后算出的唯一标识符。 SQL 的规一化会忽略常量、空白符、大小写的差别。即语法一致的 SQL 语句,其 digest 也相同。

D ashboard  TOP S QL 的出处。

SELECT DIGEST
,DIGEST_TEXT
,AVG_LATENCY e_time_avg
,EXEC_COUNT exec_count
,QUERY_SAMPLE_TEXT
,SUMMARY_BEGIN_TIME
,SUMMARY_END_TIME
,FIRST_SEEN
,LAST_SEEN
,QUERY_SAMPLE_TEXT
,PLAN_DIGEST
FROM CLUSTER_STATEMENTS_SUMMARY
WHERE SUMMARY_BEGIN_TIME >= ‘2022-02-22 09:30:00’
AND SUMMARY_END_TIME <= ‘2022-02-22 10:00:00’
AND QUERY_SAMPLE_TEXT LIKE ‘select * from tbclientadd1&’ \G


CLUSTER_STATEMENTS_SUMMARY_HISTORY  查看 T OP SQL 使用


持久化 CLUSTER_STATEMENTS_SUMMARY 表上内容,当 T OP 会话超过 3 0 分钟后,会持久化到 CLUSTER_STATEMENTS_SUMMARY_HISTORY 。

D ashboard  TOP S QL 的出处。

SELECT DIGEST
,DIGEST_TEXT
,AVG_LATENCY e_time_avg
,EXEC_COUNT exec_count
,QUERY_SAMPLE_TEXT
,SUMMARY_BEGIN_TIME
,SUMMARY_END_TIME
,FIRST_SEEN
,LAST_SEEN
,QUERY_SAMPLE_TEXT
,PLAN_DIGEST
FROM CLUSTER_STATEMENTS_SUMMARY_HISTORY
WHERE SUMMARY_BEGIN_TIME >= ‘2022-02-22 09:30:00’
AND SUMMARY_END_TIME <= ‘2022-02-22 10:00:00’
AND QUERY_SAMPLE_TEXT LIKE ‘select * from tbclientadd1&’ \G


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26474945/viewspace-2889765/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-07-07

  • 博文量
    47
  • 访问量
    319929