TIDB资源隔离和读写分离

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】
5.7.25-TiDB-v3.1.2
【问题描述】
几个不同的java web连接到tidb,其中某个应用某些时刻查询比较频繁,会占据tidb的资源,然后导致其他应用暂时查询缓慢,导致服务超时,请问tidb如何能实现资源隔离或者读写分离,能够配置不同应用不同访问节点,谢谢。


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1.这里占据 tidb 的资源,指的是占用整个 tidb 集群的资源还是仅仅是 tidb-server 的计算资源?
如果是后者的话,可以考虑部署多个 tidb-server ,将查询很频繁的应用单独配置只访问某些 tidb-server ,其他的应用访问剩下的 tidb-server ;如果是前者的话,目前 tidb 没有特别好的资源隔离实现方式;
2.查询占用了很多资源的话,也可以排查下查询 SQL 的性能有无优化空间。

2 个赞

谢谢,主要是涉及资源隔离,A应用查询会把B应用的查询时间拖长。

如果是这种情况建议先优化下 A 应用的查询 SQL 或者业务查询逻辑。