首页 > 数据库 > 国内数据库 > Tidb 运维--集群视图的使用
登录任意 Tidb S erver 节点。
mysql -h192.168.0.1 -P4000 -uroot -p 'xxxx' -A
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)
|
视图 |
作用 |
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 视图类似于 gv$session 用于查看会话信息
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(*);
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;
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;
Dash board 中慢查询出处
格式化后 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)
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 表上内容,当 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/ ,如需转载,请注明出处,否则将追究法律责任。