TiDB 高并发写入场景下,TiKV CPU 打满,除了扩容节点,还有哪些优化方向?
参考官方:
TiDB 高并发写入场景最佳实践 | TiDB 社区版
如果所有KV都打满,就只有扩容了。
先确认下是单个TiKV节点打满,还是所有TiKV都打满了?
-
如果是单个节点打满:就做Region打散,提前给表配好打散策略;往空表导数据前先执行TRUNCATE(防止空Region自动合并),要是服务器CPU还有富余,可以稍微调大点readpool.unified.max-thread-count参数。
-
如果是所有TiKV都打满了,而且之前没手动调大过gc_life_time,存储层硬件也没法升级或者扩容。那就只能从SQL层和业务层想办法,比如避免全表扫描、删除冗余的索引、避免无效数据写入、缩短热点表内数据保留周期之类。
那就对写入请求进行缓存
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。