TiDB4.0.13在生产环境小规模部署,2个月后TiDB查询非常慢,重启TiDB和重启节点均无效

【 TiDB 使用环境】 麒麟V10 SP1 arm, 三个节点部署:3个pd、3个tikv、3个tidb
【概述】 TiDB4.0.13部署在K8S环境中,查询和写入均是小规模,中间有一些trancate表
【背景】 生产环境运行2个月后出现,且重启节点、重启Tidb均无效
【现象】 所有查询通过微服务或者mysql客户端查询,都延迟较大,一行数据的表,查询耗时1.5s。
通过分析PD、TiDB进程、TiKV进程,发现TiKV极度不正常,CPU 300%,内存消耗8G,TiKV内存配置为8G,有一个节点甚至消耗13G, 但查看数据目录总共数据5G左右,通过mysqldump出来的数据500M左右。3个节点tikv状态相差无几。
【问题】 数据库莫名慢起来,没有明显的异常信息
【业务影响】系统无法使用
【TiDB 版本】 4.0.13
【应用软件及版本】
【K8S】1.20.7
【附件】

TiKV线程状态:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28113 root 20 0 80.9g 9.5g 26624 R 87.5 15.2 1770:28 raftstore-4-0
28114 root 20 0 80.9g 9.5g 26624 R 87.5 15.2 1769:45 raftstore-4-1
25597 root 20 0 80.9g 9.5g 26624 R 43.8 15.2 1129:11 grpc-server-1
28112 root 20 0 80.9g 9.5g 26624 S 43.8 15.2 762:43.62 steady-timer
25599 root 20 0 80.9g 9.5g 26624 S 31.2 15.2 671:00.90 grpc-server-3

通过Explain分析,时间全耗在TiKV
mysql> explain analyze select * from user;
±-----------------------±--------±--------±----------±-----------------±---------------------------------------------------------------------------------------------------------------------±-----------------------------------------------±-----------±-----+
| id | estRows | actRows | task | access object | execution info | operator info | memory | disk |
±-----------------------±--------±--------±----------±-----------------±---------------------------------------------------------------------------------------------------------------------±-----------------------------------------------±-----------±-----+
| TableReader_5 | 4.00 | 4 | root | | time:1.13s, loops:2, cop_task: {num: 1, max: 1.13s, proc_keys: 4, rpc_num: 1, rpc_time: 1.13s, copr_cache: disabled} | data:TableRangeScan_4 | 1006 Bytes | N/A |
| └─TableRangeScan_4 | 4.00 | 4 | cop[tikv] | table:user | tikv_task:{time:0s, loops:1}, scan_detail: {total_process_keys: 4, total_keys: 9} | range:[0,+inf], keep order:false, stats:pseudo | N/A | N/A |
±-----------------------±--------±--------±----------±-----------------±---------------------------------------------------------------------------------------------------------------------±-----------------------------------------------±-----------±-----+
2 rows in set (1.13 sec)

内存块如下:

17939: /tikv-server --pd=http://basic-pd:2379 --advertise-addr=basic-tikv-0.basic-tikv-peer.myspace.svc:20160 --addr=0.0.0.0:20160 --status-addr=0.0.0.0:20180 --data-dir=/var/lib/tikv --capacity=0 --config=/etc/tikv/tikv.toml
0000aaabc6950000 33536K r-x-- tikv-server
0000aaabc8a20000 2432K r---- tikv-server
0000aaabc8c80000 64K rw— tikv-server
0000aaabc8c90000 768K rw— [ anon ]
0000ffeb30000000 2359296K rw— [ anon ]
0000ffebc0000000 14155776K rw— [ anon ]
0000ffef30000000 3932160K rw— [ anon ]
0000fff028000000 38666240K rw— [ anon ]
0000fff960000000 524288K rw— [ anon ]
0000fff980000000 2097152K rw— [ anon ]
0000fffa1efe0000 524288K rw— [ anon ]
0000fffa3efe0000 64K ----- [ anon ]
0000fffa3eff0000 8192K rw— [ anon ]
0000fffa4c5b0000 64K ----- [ anon ]
0000fffa4c5c0000 8192K rw— [ anon ]
0000fffa4cdc0000 64K ----- [ anon ]
0000fffa4cdd0000 8320K rw— [ anon ]
0000fffa4d5f0000 64K ----- [ anon ]
0000fffa4d600000 2112K rw— [ anon ]
0000fffa4d810000 64K ----- [ anon ]
0000fffa4d820000 2112K rw— [ anon ]
0000fffa4da30000 64K ----- [ anon ]
0000fffa4da40000 2176K rw— [ anon ]
0000fffa4dc60000 64K ----- [ anon ]
0000fffa4dc70000 2048K rw— [ anon ]
0000fffa4de70000 64K ----- [ anon ]
0000fffa4de80000 2112K rw— [ anon ]
0000fffa4e090000 64K ----- [ anon ]
0000fffa4e0a0000 2048K rw— [ anon ]
0000fffa4e2a0000 64K ----- [ anon ]
0000fffa4e2b0000 2176K rw— [ anon ]
0000fffa4e4d0000 64K ----- [ anon ]
0000fffa4e4e0000 2112K rw— [ anon ]
0000fffa4e6f0000 64K ----- [ anon ]
0000fffa4e700000 2112K rw— [ anon ]
0000fffa4e910000 64K ----- [ anon ]
0000fffa4e920000 2048K rw— [ anon ]
0000fffa4eb20000 64K ----- [ anon ]
0000fffa4eb30000 2240K rw— [ anon ]
0000fffa4ed60000 64K ----- [ anon ]
0000fffa4ed70000 2048K rw— [ anon ]
0000fffa4ef70000 64K ----- [ anon ]
0000fffa4ef80000 2112K rw— [ anon ]
0000fffa4f190000 64K ----- [ anon ]
0000fffa4f1a0000 2048K rw— [ anon ]
0000fffa4f3a0000 64K ----- [ anon ]
0000fffa4f3b0000 8192K rw— [ anon ]
0000fffa4fbb0000 64K ----- [ anon ]
0000fffa4fbc0000 8192K rw— [ anon ]
0000fffa503c0000 64K ----- [ anon ]
0000fffa503d0000 8192K rw— [ anon ]
0000fffa50bd0000 128K r-x-- libresolv-2.28.so
0000fffa50bf0000 64K r---- libresolv-2.28.so
0000fffa50c00000 64K rw— libresolv-2.28.so
0000fffa50c10000 64K r-x-- libnss_dns-2.28.so
0000fffa50c20000 64K r---- libnss_dns-2.28.so
0000fffa50c30000 64K rw— libnss_dns-2.28.so
0000fffa50c40000 64K r-x-- libnss_files-2.28.so
0000fffa50c50000 64K r---- libnss_files-2.28.so
0000fffa50c60000 64K rw— libnss_files-2.28.so
0000fffa50c70000 128K rw— [ anon ]
0000fffa50c90000 64K ----- [ anon ]
0000fffa50ca0000 2112K rw— [ anon ]
0000fffa50eb0000 64K ----- [ anon ]
0000fffa50ec0000 2112K rw— [ anon ]
0000fffa510d0000 64K ----- [ anon ]
0000fffa510e0000 2112K rw— [ anon ]
0000fffa512f0000 64K ----- [ anon ]
0000fffa51300000 2240K rw— [ anon ]
0000fffa51530000 64K ----- [ anon ]
0000fffa51540000 2112K rw— [ anon ]
0000fffa51750000 64K ----- [ anon ]
0000fffa51760000 2048K rw— [ anon ]
0000fffa51960000 64K ----- [ anon ]
0000fffa51970000 2112K rw— [ anon ]
0000fffa51b80000 64K ----- [ anon ]
0000fffa51b90000 2048K rw— [ anon ]
0000fffa51d90000 64K ----- [ anon ]
0000fffa51da0000 2176K rw— [ anon ]
0000fffa51fc0000 64K ----- [ anon ]
0000fffa51fd0000 2048K rw— [ anon ]
0000fffa521d0000 64K ----- [ anon ]
0000fffa521e0000 2112K rw— [ anon ]
0000fffa523f0000 64K ----- [ anon ]
0000fffa52400000 2112K rw— [ anon ]
0000fffa52610000 64K ----- [ anon ]
0000fffa52620000 2176K rw— [ anon ]
0000fffa52840000 64K ----- [ anon ]
0000fffa52850000 2048K rw— [ anon ]
0000fffa52a50000 64K ----- [ anon ]
0000fffa52a60000 2112K rw— [ anon ]
0000fffa52c70000 64K ----- [ anon ]
0000fffa52c80000 2176K rw— [ anon ]
0000fffa52ea0000 64K ----- [ anon ]
0000fffa52eb0000 2112K rw— [ anon ]
0000fffa530c0000 64K ----- [ anon ]
0000fffa530d0000 2176K rw— [ anon ]
0000fffa532f0000 64K ----- [ anon ]
0000fffa53300000 2048K rw— [ anon ]
0000fffa53500000 64K ----- [ anon ]
0000fffa53510000 2112K rw— [ anon ]
0000fffa53720000 64K ----- [ anon ]
0000fffa53730000 2176K rw— [ anon ]
0000fffa53950000 64K ----- [ anon ]
0000fffa53960000 2112K rw— [ anon ]
0000fffa53b70000 64K ----- [ anon ]
0000fffa53b80000 2048K rw— [ anon ]
0000fffa53d80000 64K ----- [ anon ]
0000fffa53d90000 2048K rw— [ anon ]
0000fffa53f90000 64K ----- [ anon ]
0000fffa53fa0000 2176K rw— [ anon ]
0000fffa541c0000 64K ----- [ anon ]
0000fffa541d0000 2112K rw— [ anon ]
0000fffa543e0000 64K ----- [ anon ]
0000fffa543f0000 2112K rw— [ anon ]
0000fffa54600000 64K ----- [ anon ]
0000fffa54610000 2112K rw— [ anon ]
0000fffa54820000 64K ----- [ anon ]
0000fffa54830000 2048K rw— [ anon ]
0000fffa54a30000 64K ----- [ anon ]
0000fffa54a40000 2112K rw— [ anon ]
0000fffa54c50000 64K ----- [ anon ]
0000fffa54c60000 2112K rw— [ anon ]
0000fffa54e70000 64K ----- [ anon ]
0000fffa54e80000 2176K rw— [ anon ]
0000fffa550a0000 64K ----- [ anon ]
0000fffa550b0000 2112K rw— [ anon ]
0000fffa552c0000 64K ----- [ anon ]
0000fffa552d0000 2048K rw— [ anon ]
0000fffa554d0000 64K ----- [ anon ]
0000fffa554e0000 2112K rw— [ anon ]
0000fffa556f0000 64K ----- [ anon ]
0000fffa55700000 2112K rw— [ anon ]
0000fffa55910000 64K ----- [ anon ]
0000fffa55920000 2176K rw— [ anon ]
0000fffa55b40000 64K ----- [ anon ]
0000fffa55b50000 2048K rw— [ anon ]
0000fffa55d50000 64K ----- [ anon ]
0000fffa55d60000 2112K rw— [ anon ]
0000fffa55f70000 64K ----- [ anon ]
0000fffa55f80000 2112K rw— [ anon ]
0000fffa56190000 64K ----- [ anon ]
0000fffa561a0000 2112K rw— [ anon ]
0000fffa563b0000 64K ----- [ anon ]
0000fffa563c0000 2112K rw— [ anon ]
0000fffa565d0000 64K ----- [ anon ]
0000fffa565e0000 2176K rw— [ anon ]
0000fffa56800000 64K ----- [ anon ]
0000fffa56810000 8192K rw— [ anon ]
0000fffa57010000 64K ----- [ anon ]
0000fffa57020000 8256K rw— [ anon ]
0000fffa57830000 64K ----- [ anon ]
0000fffa57840000 2176K rw— [ anon ]
0000fffa57a60000 64K ----- [ anon ]
0000fffa57a70000 2112K rw— [ anon ]
0000fffa57c80000 64K ----- [ anon ]
0000fffa57c90000 2048K rw— [ anon ]
0000fffa57e90000 64K ----- [ anon ]
0000fffa57ea0000 2048K rw— [ anon ]
0000fffa580a0000 64K ----- [ anon ]
0000fffa580b0000 2048K rw— [ anon ]
0000fffa582b0000 64K ----- [ anon ]
0000fffa582c0000 2048K rw— [ anon ]
0000fffa584c0000 64K ----- [ anon ]
0000fffa584d0000 2048K rw— [ anon ]
0000fffa586d0000 64K ----- [ anon ]
0000fffa586e0000 2048K rw— [ anon ]
0000fffa588e0000 64K ----- [ anon ]
0000fffa588f0000 2048K rw— [ anon ]
0000fffa58af0000 64K ----- [ anon ]
0000fffa58b00000 2048K rw— [ anon ]
0000fffa58d00000 64K ----- [ anon ]
0000fffa58d10000 2048K rw— [ anon ]
0000fffa58f10000 64K ----- [ anon ]
0000fffa58f20000 2048K rw— [ anon ]
0000fffa59120000 64K ----- [ anon ]
0000fffa59130000 2048K rw— [ anon ]
0000fffa59330000 64K ----- [ anon ]
0000fffa59340000 2048K rw— [ anon ]
0000fffa59540000 64K ----- [ anon ]
0000fffa59550000 10240K rw— [ anon ]
0000fffa59f50000 64K ----- [ anon ]
0000fffa59f60000 10240K rw— [ anon ]
0000fffa5a960000 64K ----- [ anon ]
0000fffa5a970000 10240K rw— [ anon ]
0000fffa5b370000 64K ----- [ anon ]
0000fffa5b380000 10240K rw— [ anon ]
0000fffa5bd80000 64K ----- [ anon ]
0000fffa5bd90000 10240K rw— [ anon ]
0000fffa5c790000 64K ----- [ anon ]
0000fffa5c7a0000 8192K rw— [ anon ]
0000fffa5cfa0000 64K ----- [ anon ]
0000fffa5cfb0000 8192K rw— [ anon ]
0000fffa5d7b0000 64K ----- [ anon ]
0000fffa5d7c0000 8192K rw— [ anon ]
0000fffa5dfc0000 64K ----- [ anon ]
0000fffa5dfd0000 8192K rw— [ anon ]
0000fffa5e7d0000 64K ----- [ anon ]
0000fffa5e7e0000 8192K rw— [ anon ]
0000fffa5efe0000 64K ----- [ anon ]
0000fffa5eff0000 8192K rw— [ anon ]
0000fffa5f7f0000 64K ----- [ anon ]
0000fffa5f800000 8192K rw— [ anon ]
0000fffa60000000 22020096K rw— [ anon ]
0000ffffa0000000 704K rw— [ anon ]
0000ffffa00b0000 64K ----- [ anon ]
0000ffffa00c0000 2176K rw— [ anon ]
0000ffffa02e0000 64K ----- [ anon ]
0000ffffa02f0000 2048K rw— [ anon ]
0000ffffa04f0000 64K ----- [ anon ]
0000ffffa0500000 2496K rw— [ anon ]
0000ffffa0770000 64K ----- [ anon ]
0000ffffa0780000 10368K rw— [ anon ]
0000ffffa11a0000 64K ----- [ anon ]
0000ffffa11b0000 10304K rw— [ anon ]
0000ffffa1bc0000 64K ----- [ anon ]
0000ffffa1bd0000 10240K rw— [ anon ]
0000ffffa25d0000 64K ----- [ anon ]
0000ffffa25e0000 10304K rw— [ anon ]
0000ffffa2ff0000 64K ----- [ anon ]
0000ffffa3000000 10304K rw— [ anon ]
0000ffffa3a10000 64K ----- [ anon ]
0000ffffa3a20000 8192K rw— [ anon ]
0000ffffa4220000 64K ----- [ anon ]
0000ffffa4230000 8192K rw— [ anon ]
0000ffffa4a30000 64K ----- [ anon ]
0000ffffa4a40000 8192K rw— [ anon ]
0000ffffa5240000 64K ----- [ anon ]
0000ffffa5250000 8192K rw— [ anon ]
0000ffffa5a50000 64K ----- [ anon ]
0000ffffa5a60000 8192K rw— [ anon ]
0000ffffa6260000 64K ----- [ anon ]
0000ffffa6270000 8192K rw— [ anon ]
0000ffffa6a70000 64K ----- [ anon ]
0000ffffa6a80000 8192K rw— [ anon ]
0000ffffa7280000 64K ----- [ anon ]
0000ffffa7290000 8320K rw— [ anon ]
0000ffffa7ab0000 64K ----- [ anon ]
0000ffffa7ac0000 2048K rw— [ anon ]
0000ffffa7cc0000 64K ----- [ anon ]
0000ffffa7cd0000 2112K rw— [ anon ]
0000ffffa7ee0000 64K ----- [ anon ]
0000ffffa7ef0000 2112K rw— [ anon ]
0000ffffa8100000 64K ----- [ anon ]
0000ffffa8110000 2112K rw— [ anon ]
0000ffffa8320000 64K ----- [ anon ]
0000ffffa8330000 2048K rw— [ anon ]
0000ffffa8530000 64K ----- [ anon ]
0000ffffa8540000 8256K rw— [ anon ]
0000ffffa8d50000 64K ----- [ anon ]
0000ffffa8d60000 2048K rw— [ anon ]
0000ffffa8f60000 64K ----- [ anon ]
0000ffffa8f70000 8192K rw— [ anon ]
0000ffffa9770000 64K ----- [ anon ]
0000ffffa9780000 8192K rw— [ anon ]
0000ffffa9f80000 64K ----- [ anon ]
0000ffffa9f90000 8256K rw— [ anon ]
0000ffffaa7a0000 64K ----- [ anon ]
0000ffffaa7b0000 2048K rw— [ anon ]
0000ffffaa9b0000 704K r-x-- libm-2.28.so
0000ffffaaa60000 64K r---- libm-2.28.so
0000ffffaaa70000 64K rw— libm-2.28.so
0000ffffaaa80000 1408K r-x-- libc-2.28.so
0000ffffaabe0000 64K r---- libc-2.28.so
0000ffffaabf0000 64K rw— libc-2.28.so
0000ffffaac00000 128K r-x-- libgcc_s-8-20191121.so.1
0000ffffaac20000 64K r---- libgcc_s-8-20191121.so.1
0000ffffaac30000 64K rw— libgcc_s-8-20191121.so.1
0000ffffaac40000 64K r-x-- libdl-2.28.so
0000ffffaac50000 64K r---- libdl-2.28.so
0000ffffaac60000 64K rw— libdl-2.28.so
0000ffffaac70000 128K r-x-- libpthread-2.28.so
0000ffffaac90000 64K r---- libpthread-2.28.so
0000ffffaaca0000 64K rw— libpthread-2.28.so
0000ffffaacb0000 64K r---- [ anon ]
0000ffffaacc0000 64K r-x-- [ anon ]
0000ffffaacd0000 128K r-x-- ld-2.28.so
0000ffffaacf0000 64K rw— [ anon ]
0000ffffaad00000 64K r---- ld-2.28.so
0000ffffaad10000 64K rw— ld-2.28.so
0000fffff8620000 320K rw— [ stack ]
total 84823808K

版本太老了,数据量不大考虑升级到最新吧

还有数据量也不大,导出重建库下不麻烦

新建一个表插入一行数据看慢不慢

可以看下gc参数设置的是多少?理论上你这么小的数据量,不该突然变慢的。不过建议你还是重新导入一下进行版本升级吧。6.5版本比4.0版本性能提升了很多的

检查查询计划和索引

3个tikv节点做下手动compact
tikv-ctl --host tikv_IP:20160 compact -c write -d kv --bottommost force
tikv-ctl --host tikv_IP:20160 compact -c default -d kv --bottommost force

这个版本之前有遇到问题吗? 领导要求给出明确的分析结果,是什么问题引发的。
太难了!

arm+k8s太稀有了,都没经验吧

只有一个行数据,这个和索引没有关系。 查询计划上面的 “通过Explain分析,时间全耗在TiKV” 描述中就是啊

arm+k8s现在国产化浪潮是逐步向这边转移哦。这个问题与这个有没有关联啊!

最怕的是硬件问题,根本不知道怎么排查

这个没办法,iostat等查了系统资源, CPU、磁盘IO都很正常,唯一的可疑点,操作系统的cache非常大,整机内存剩余4个G