并发不变,表数量增加,也就是代表访问的数据量会增加,可能是挤占了某些内存,进而引发了额外的读或者写 io 。可以 iostat 对比下两种情况下 io 使用情况。
ps: unistore 可观测性约等于无,真使用的话,排查问题会非常痛苦
并发不变,表数量增加,也就是代表访问的数据量会增加,可能是挤占了某些内存,进而引发了额外的读或者写 io 。可以 iostat 对比下两种情况下 io 使用情况。
ps: unistore 可观测性约等于无,真使用的话,排查问题会非常痛苦
使用sar观察对比过两者io情况,相差巨大。。唉,打算放弃了
https://juejin.cn/post/7455217215466536996
kswap0占用也不低,这个是和swap相关的,不过一半来说部署tiup cluster check的时候都建议关闭swap.
我觉得你现在能用的也就是:1确认一下swap是不是关了.2,尝试使用执行计划缓存,看能否跳过编译阶段.空间换时间.
总体上你做到现在这个阶段,对使用unistore来说也差不多可以交差了.更进一步确实很难优化了,大部分用tidb也确实不是这么用的.要存算一体,有其他选择.
unistore 底下用的存储引擎是 badger,可能这个库在高并发下有锁竞争之类的问题?tidb 应该是没有专门做 batch 之类的操作的
现在都将算存分离,什么缘由又开始看一体了呢
我个人理解,这是通缩环境下的一种特殊诉求。主要就是为了降本。增效都可以放在第二位。