返回介绍

TiFlash 性能调优

发布于 2020-10-26 07:01:23 字数 1772 浏览 965 评论 0 收藏 0

本文介绍了使 TiFlash 性能达到最优的几种方式,包括规划机器资源、TiDB 参数调优、配置 TiKV Region 大小等。

资源规划

对于希望节省机器资源,并且完全没有隔离要求的场景,可以使用 TiKV 和 TiFlash 联合部署。建议为 TiKV 与 TiFlash 分别留够资源,并且不要共享磁盘。

TiDB 相关参数调优

  1. 对于 OLAP/TiFlash 专属的 TiDB 节点,建议调大读取并发数 tidb_distsql_scan_concurrency 到 80:

    set @@tidb_distsql_scan_concurrency = 80;
  2. 开启 Super batch 功能:

    tidb_allow_batch_cop 变量用来设置从 TiFlash 读取时,是否把 Region 的请求进行合并。当查询中涉及的 Region 数量比较大,可以尝试设置该变量为 1(对带 aggregation 下推到 TiFlash Coprocessor 的请求生效),或设置该变量为 2(对全部下推到 TiFlash Coprocessor 请求生效)。

    set @@tidb_allow_batch_cop = 1;
  3. 尝试开启聚合推过 Join / Union 等 TiDB 算子的优化:

    tidb_opt_agg_push_down 变量用来设置优化器是否执行聚合函数下推到 Join 之前的优化操作。当查询中聚合操作执行很慢时,可以尝试设置该变量为 1。

    set @@tidb_opt_agg_push_down = 1;
  4. 尝试开启 Distinct 推过 Join / Union 等 TiDB 算子的优化:

    tidb_opt_distinct_agg_push_down 变量用来设置优化器是否执行带有 Distinct 的聚合函数(比如 select count(distinct a) from t)下推到 Coprocessor 的优化操作。当查询中带有 Distinct 的聚合操作执行很慢时,可以尝试设置该变量为 1

    set @@tidb_opt_distinct_agg_push_down = 1;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文