【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.7
【遇到的问题:问题现象及影响】TiDB 是否有关于readpool相关配置的最佳实践
类似这种
好贴呀,坐等出贴
我发的两个链接里都有关于readpool的调整,可以参考一下
多次调整后发现,readpool这快的性能一直是瓶颈,我在从sql上分析一下吧
可以吧具体sql和执行计划开个新贴,大家一起分析分析
- readpool 大小设置
readpool 大小设置的原则是根据服务器 CPU、磁盘以及存储引擎的能力来确定 TiDB 节点的个数和大小。一般情况下,一个 TiDB 节点可以处理约 10 个 TiKV 实例的读请求。因此,当增加 TiKV 实例时,应相应地增加 TiDB 节点的数量和大小。
- readpool 大小的动态调整
TiDB 的 readpool 大小支持动态调整,因此应尽可能利用此功能,以便根据流量或并发性能要求的变化进行修改。例如,如果发现 readpool 大小太小,可以通过动态调整 readpool 大小来增加系统的吞吐量和性能。
- 读请求分离到不同的 readpool 中
标准的图例展现
TiDB 建议将读请求分离到多个 readpool 中,并根据操作类型或者用户账户等条件,分配给不同的 readpool。例如,可以将热点查询分配给专用的 readpool,同时将其他类型的查询分配给另一个通用的 readpool。这样可以在某些情况下避免热点查询影响其他类型查询的执行效率。
- 对扫描类型的操作进行限制
TiDB 建议给扫描类型的操作查询设置合适的限制,以避免这些操作对系统性能和吞吐量造成负面影响。例如,可以通过 limit 或 topn 将结果限制在一定范围内。另外,如果存在大批量的排序或内存开销较大的操作,也应当合理设置选项来控制它们的执行速度和消耗。
- 使用 TiDB Dashboard 监控系统资源
TiDB 提供了一个图形化的 Dashboard 应用程序,用于帮助管理员在一个可视化的界面上监控系统性能和资源使用情况。使用 TiDB Dashboard 可以直观地了解系统资源的使用情况,包括各种 readpool 的使用情况和使用率等。通过监控这些指标,可以快速定位问题并进行相应的调整。