tidb并发查询慢


这是一个测试页面的慢查询日志。其中每个慢查询我拿出来单出查都是小于1s。
所以我怀疑是资源不足导致的,我怎么进一步确认呢
以下我贴几个慢查询的执行计划

pd、tidb 共用3台8核16g
tikv 3台12核24g
tiflash 3台24 核 48g

执行计划如下:
慢查询日志 第四条4s 单独查询0.9s

慢查询日志 第五条3.9s 单独查询0.85s

慢查询日志 第五条3.5s 单独查询0.85s

这是当时我的tiflash监控、cpu最后利用率184。奇怪的是我当时用top命令查看服务器上cpu运行情况已经到了1600。不知道是哪里不对

试下调整参数优化? Count 如何加速?

你点进去sql看看具体慢在哪?

2个耗时不一样的执行计划一样吗?

一样的

单独执行sql不慢,我怀疑是并行执行sqlcpu资源不足,但我也才并行执行10几个sql。

不是count查询慢,是单独执行快,并行执行慢

你再dashboard页面,直接点慢的sql,里面会显示具体慢在哪个阶段,看一下先

看下kv的监控吧 cpu 内存和io

cpu用的很少百分之20左右。内存维持在60%上下

你这几个查询全是tiflash mpp模式执行的。tiflash对高并发的支持是不如tikv的。单独执行快,并发十几个性能下降的快我觉得是符合预期的。

那意思是3台24核扛不住10几条mpp的sql。那得是多少核的cpu才行。或者我改回原来的自己选择执行模式会不会好些

最好是能看看慢查询里面3-4s的那种查询的执行计划。看看是慢在那个阶段。

这里对于tiflash的支持不够好,如果是tikv会显示慢在tikv哪个阶段,tiflash只能看到确实是慢在tiflash,你把dashboard里面sql贴出来,改成
explain analyze SELECT SQL_MO_CACHE这样执行一下,看下执行计划