这是一个测试页面的慢查询日志。其中每个慢查询我拿出来单出查都是小于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。不知道是哪里不对
单独执行sql不慢,我怀疑是并行执行sqlcpu资源不足,但我也才并行执行10几个sql。
你再dashboard页面,直接点慢的sql,里面会显示具体慢在哪个阶段,看一下先
cpu用的很少百分之20左右。内存维持在60%上下
有猫万事足
13
你这几个查询全是tiflash mpp模式执行的。tiflash对高并发的支持是不如tikv的。单独执行快,并发十几个性能下降的快我觉得是符合预期的。
那意思是3台24核扛不住10几条mpp的sql。那得是多少核的cpu才行。或者我改回原来的自己选择执行模式会不会好些
有猫万事足
15
最好是能看看慢查询里面3-4s的那种查询的执行计划。看看是慢在那个阶段。
这里对于tiflash的支持不够好,如果是tikv会显示慢在tikv哪个阶段,tiflash只能看到确实是慢在tiflash,你把dashboard里面sql贴出来,改成
explain analyze SELECT SQL_MO_CACHE这样执行一下,看下执行计划