akle
(akle)
1
为提高效率,提问时请尽量提供详细背景信息,问题描述清晰可优先响应。以下信息点请尽量提供:
- 系统版本 & kernel 版本: CentOS Linux release 7.5.1804 (Core)
- TiDB 版本:
- 磁盘型号:SAS
- 集群节点分布:PD3台,tidb2台,tikv3台
- 数据量 & region 数量 & 副本数:默认未动
- 集群 QPS、.999-Duration、读写比例:未知
- 问题描述(我做了什么):
SELECT ac,dtime,ranges from data_detail where mmc in (‘1422’,‘1fdf’,‘14de’,‘ed1b’,‘ecd9’,‘6292’,‘ecef’)
使用 trace 以及 explain 看下执行计划。打开慢日志,分析下慢日志。另外,TiDB 对磁盘要求比较高,不建议用 SAS 来做性能测试。
akle
(akle)
3
Time: 2019-09-24T16:10:17.321454862+08:00
Txn_start_ts: 411385886596923393
Query_time: 0.614628338
Wait_time: 0.104 Request_count: 2 Total_keys: 17 Process_keys: 16
Index_names: [stats_meta:idx_ver]
Is_internal: true
Digest: f0b4536b9ca2b2cf8b0b4580fa5a6804ace888b4601ce93f17b17f18409e96f0
Stats: stats_meta:pseudo
Num_cop_tasks: 2
Cop_proc_avg: 0 Cop_proc_p90: 0 Cop_proc_max: 0 Cop_proc_addr: 192.168.0.31:20160
Cop_wait_avg: 0.052 Cop_wait_p90: 0.102 Cop_wait_max: 0.102 Cop_wait_addr: 192.168.0.31:20160
Mem_max: 10212
Succ: true
SELECT version, table_id, modify_count, count from mysql.stats_meta where version > 411385154468052996 order by version;
Time: 2019-09-24T16:10:18.517595174+08:00
Txn_start_ts: 411385886754209793
Query_time: 1.195963837
Wait_time: 0.021 Request_count: 2 Total_keys: 20 Process_keys: 18
Index_names: [stats_histograms:tbl]
Is_internal: true
Digest: ff1ba2b3cf4f7452291642f6399447979825a310ef25a78f01288580f398a3c9
Stats: stats_histograms:pseudo
Num_cop_tasks: 2
Cop_proc_avg: 0 Cop_proc_p90: 0 Cop_proc_max: 0 Cop_proc_addr: 192.168.0.31:20160
Cop_wait_avg: 0.0105 Cop_wait_p90: 0.021 Cop_wait_max: 0.021 Cop_wait_addr: 192.168.0.31:20160
Mem_max: 12552
Succ: true
select table_id, is_index, hist_id, distinct_count, version, null_count, tot_col_size, stats_ver, flag, correlation, last_analyze_pos from mysql.stats_histograms where table_id = 63;
Time: 2019-09-24T16:10:37.029328241+08:00
Txn_start_ts: 411385885902241800
Conn_ID: 246
Query_time: 22.925780025
Process_time: 105.881 Wait_time: 198.545 Request_count: 128 Total_keys: 18240036 Process_keys: 18239352
DB: bgd
Is_internal: false
Digest: 0468a7dad635950a1c41f0851ede5a90a13245dba4d16fde6f9b5ea6ef886f8d
Stats: data_detail_20190711:411384531142049794
Num_cop_tasks: 128
Cop_proc_avg: 0.827195312 Cop_proc_p90: 1.179 Cop_proc_max: 1.669 Cop_proc_addr: 192.168.0.30:20160
Cop_wait_avg: 1.551132812 Cop_wait_p90: 3.305 Cop_wait_max: 3.959 Cop_wait_addr: 192.168.0.30:20160
Mem_max: 245067004
Succ: true
不懂就问
(zhouyueyue)
4
给出的这两条慢日志信息不是应用的查询 SQL,是系统内部的查询,确定这是人为触发需要查询的 SQL 信息吗?
akle
(akle)
5
是的,是做的select查询,日志里面有这个命令,只是没贴上去
老房
(葱头巴巴)
6
SAS 硬盘不建议在生产环境使用,或者进行性能测试。
不懂就问
(zhouyueyue)
7
不太明白什么意思,看描述说是 select 2千万行数据需要 30 s 以上,所以需要提供下这条 select 语句的相关信息(包含这条查询语句的慢日志信息,语句的执行计划以及表结构),看给出的慢日志信息里面的查询也是内部 SQL 语句,没有办法分析,另外如果是线上环境,磁盘性能也达不到官方部署要求。
akle
(akle)
8
现在就是测试这个是否能达到查询速度提升的问题,如果能提升线上会使用SSD硬盘,默认就算是集群查询速度也是单台速度一样吗
SELECT ac,dtime,ranges from data_detail where mmc in(‘1422’,‘1fdf’,‘14de’,‘ed1b’,‘ecd9’,‘6292’,‘ecef’)
akle
(akle)
9
Time: 2019-09-25T11:34:24.322569477+08:00
Txn_start_ts: 411404196447518722
Query_time: 1.036637683
Wait_time: 0.008 Request_count: 2 Total_keys: 22 Process_keys: 18
Index_names: [stats_histograms:tbl]
Is_internal: true
Digest: ff1ba2b3cf4f7452291642f6399447979825a310ef25a78f01288580f398a3c9
Stats: stats_histograms:pseudo
Num_cop_tasks: 2
Cop_proc_avg: 0 Cop_proc_p90: 0 Cop_proc_max: 0 Cop_proc_addr: 192.168.0.32:20160
Cop_wait_avg: 0.004 Cop_wait_p90: 0.007 Cop_wait_max: 0.007 Cop_wait_addr: 192.168.0.32:20160
Mem_max: 12552
Succ: true
select table_id, is_index, hist_id, distinct_count, version, null_count, tot_col_size, stats_ver, flag, correlation, last_analyze_pos from mysql.stats_histograms where table_id = 137;
Time: 2019-09-25T11:34:42.699267448+08:00
Txn_start_ts: 411404196028088326
Conn_ID: 2189
Query_time: 21.007112059
Process_time: 103.53 Wait_time: 253.523 Request_count: 128 Total_keys: 18240036 Process_keys: 18239352
DB: bgd
Is_internal: false
Digest: 0468a7dad635950a1c41f0851ede5a90a13245dba4d16fde6f9b5ea6ef886f8d
Stats: data_detail_20190711:411384531142049794
Num_cop_tasks: 128
Cop_proc_avg: 0.808828125 Cop_proc_p90: 1.2730000000000001 Cop_proc_max: 2.245 Cop_proc_addr: 192.168.0.30:20160
Cop_wait_avg: 1.9806484370000002 Cop_wait_p90: 3.767 Cop_wait_max: 4.753 Cop_wait_addr: 192.168.0.30:20160
Mem_max: 241229801
Succ: true
SELECT ac,dtime,ranges from data_detail where mmc in(‘1422’,‘1fdf’,‘14de’,‘ed1b’,‘ecd9’,‘6292’,‘ecef’);
akle
(akle)
11
慢日志信息不就是tidb_slow_query.log里面的信息吗
不懂就问
(zhouyueyue)
12
集群版本,语句的执行计划以及表结构也提供下,另外可以先检查下这张表的统计信息是不是很久没有更新了,也跟 SAS 盘的性能有关系。
akle
(akle)
13
集群版本:不知道哪里查看,最近今天才到你们官网安装的,
集群节点分布:PD3台,tidb2台,tikv3台
表结构
手动执行语句:SELECT ac,dtime,ranges from data_detail where mmc in(‘1422’,‘1fdf’,‘14de’,‘ed1b’,‘ecd9’,‘6292’,‘ecef’);
这个表是7月份的,是没有更新
不懂就问
(zhouyueyue)
14
先根据官网文档看下一些基础的知识点,另外提供下我上面提到的执行计划、表结构以及版本信息,具体怎么查看官网有介绍,只是单纯的给一条语句,不好分析解决问题。另外,请看下我们的提问须知, 按照模版提问解决问题会更高效。
system
(system)
关闭
15
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。