TiDB v8.4 中文手册请求的并行批处理模式,降低获取 TSO 的延迟 #54960 #8432 @MyonKeminta 在 v8.4.0 之前,TiDB 向 PD 请求TSO 时会将一段时间内的请求汇总起来并以串行的方式进行批处理,以减 少 RPC (Remote Procedure Call) 请求数量,从而降低 PD 负载。对于延迟敏感的场景,这种串行模式的性能 并不理想。 在 v8.4.0 中,TiDB 新增 TSO 请求的 向 PD 发送 TSO RPC 请求时 使用的 模式。这 里的模 式将用 于控制 TSO RPC 请求是 否并行, 调节获 取 TS 时 消耗在 请求攒 批阶段 的时间, 从而在 某些场 景中减 少执行 查询时 等待 TS 阶段的 时间。 2.2.2.2 配置参数 配置文件 或组件 配置项 修改类型 描述 TiDB grpc- �→ keepalive �→ -time 修改 增加最小 样 TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。0 码力 | 5072 页 | 104.05 MB | 10 月前3
TiDB v7.6 中文手册当该值 为 ON 时, TiDB 在 获取 Region 信 息时会 将请求 均匀地 发送到 所有 PD 节点上, 因此 PD follower 也可以 处理 Region 信 息请求, 从而减 轻 PD leader 的 CPU 压 力。 2.2.2.3 配置文件参数 45 配置文件 配置项 修改类型 描述 TiDB tls- �→ version �→ 修改 默认值为 空,TiDB 样 TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。 DUPLICATE KEY UPDATE `a` = values(`a`); 批量更新时如果有 3 处或 3 处以上更新,则 SQL 语句会改写为 multiple-queries 的形式并发送,这样可以有效减 少客户端到服务器的请求开销,但副作用是会产生较大的 SQL 语句,例如这样: UPDATE `t` SET `a` = 10 WHERE `id` = 1; UPDATE `t` SET `a`0 码力 | 4666 页 | 101.24 MB | 1 年前3
TiDB v8.5 中文手册请求的并行批处理模式,降低获取 TSO 的延迟 #54960 #8432 @MyonKeminta 在 v8.4.0 之前,TiDB 向 PD 请求TSO 时会将一段时间内的请求汇总起来并以串行的方式进行批处理,以减 少 RPC (Remote Procedure Call) 请求数量,从而降低 PD 负载。对于延迟敏感的场景,这种串行模式的性能 并不理想。 在 v8.4.0 中,TiDB 新增 TSO 请求的 向 PD 发送 TSO RPC 请求时 使用的 模式。这 里的模 式将用 于控制 TSO RPC 请求是 否并行, 调节获 取 TS 时 消耗在 请求攒 批阶段 的时间, 从而在 某些场 景中减 少执行 查询时 等待 TS 阶段的 时间。 2.2.2.2 配置参数 配置文件 或组件 配置项 修改类型 描述 TiDB grpc- �→ keepalive �→ -time 修改 增加最小 样 TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。0 码力 | 5095 页 | 104.54 MB | 10 月前3
TiDB v8.0 中文手册计划在后续版本重新设计执行计划绑定的自动演进,相关的变量和行为会发生变化。 2.2.4 改进提升 • TiDB – DDL 创建表语句 CREATE TABLE 执行性能加速 10 倍,并且可线性扩展 #50052 @GMHDBJD – 支持同时提交 16 个 IMPORT INTO ... FROM FILE 任务,方便批量导入数据到目标表,极大地提升 了数据文件导入的效率和性能 #49008 样 TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。 DUPLICATE KEY UPDATE `a` = values(`a`); 批量更新时如果有 3 处或 3 处以上更新,则 SQL 语句会改写为 multiple-queries 的形式并发送,这样可以有效减 少客户端到服务器的请求开销,但副作用是会产生较大的 SQL 语句,例如这样: UPDATE `t` SET `a` = 10 WHERE `id` = 1; UPDATE `t` SET `a`0 码力 | 4805 页 | 101.28 MB | 1 年前3
TiDB v8.1 中文手册样 TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。 DUPLICATE KEY UPDATE `a` = values(`a`); 批量更新时如果有 3 处或 3 处以上更新,则 SQL 语句会改写为 multiple-queries 的形式并发送,这样可以有效减 少客户端到服务器的请求开销,但副作用是会产生较大的 SQL 语句,例如这样: UPDATE `t` SET `a` = 10 WHERE `id` = 1; UPDATE `t` SET `a` systemctl status firewalld.service 458 5.2.5 检测及安装 NTP 服务 TiDB 是一套分布式数据库系统,需要节点间保证时间的同步,从而确保 ACID 模型的事务线性一致性。目前解 决授时的普遍方案是采用 NTP 服务,可以通过互联网中的 pool.ntp.org 授时服务来保证节点的时间同步,也 可以使用离线环境自己搭建的 NTP 服务来解决授时。 采用如下步骤检查是否安装0 码力 | 4807 页 | 101.31 MB | 1 年前3
TiDB v7.1 中文手册0 开始,在新的分布式并行执行框架下,多个 TiDB 节点可以并行执行同一项 DDL 任务,从而更好地 利用 TiDB 集群的资源,大幅提升 DDL 的性能。此外,你还可以通过增加 TiDB 节点来线性提升 DDL 的性 能。需要注意的是,该特性是实验性特性,目前仅支持 ADD INDEX 操作。 如果要使用分布式并行执行框架,只需将tidb_enable_dist_task 的值设置为 ON: 样 TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。 DUPLICATE KEY UPDATE `a` = values(`a`); 批量更新时如果有 3 处或 3 处以上更新,则 SQL 语句会改写为 multiple-queries 的形式并发送,这样可以有效减 少客户端到服务器的请求开销,但副作用是会产生较大的 SQL 语句,例如这样: UPDATE `t` SET `a` = 10 WHERE `id` = 1; UPDATE `t` SET `a`0 码力 | 4369 页 | 98.92 MB | 1 年前3
TiDB v7.5 中文手册节点并行执行同一个 IMPORT INTO 35 任务,从而更好地利用 TiDB 集群的资源,大幅提升 DDL 和 IMPORT INTO 任务的性能。此外,你还可以通 过增加 TiDB 节点来线性提升 DDL 和 IMPORT INTO 任务的性能。 如果要使用分布式并行执行框架,只需将tidb_enable_dist_task 的值设置为 ON: SET GLOBAL tidb_enable_dist_task 并减少内存分配 #47219 @hawkingrei – 优化 ANALYZE 流程:引入tidb_build_sampling_stats_concurrency 精细化控制 ANALYZE 并发度,减 少资源消耗。同时优化 ANALYZE 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC #47275 @hawkingrei – 改进 Placement Policy 的使用:增 样 TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。0 码力 | 4590 页 | 100.91 MB | 1 年前3
TiDB v8.2 中文手册样 TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。 DUPLICATE KEY UPDATE `a` = values(`a`); 批量更新时如果有 3 处或 3 处以上更新,则 SQL 语句会改写为 multiple-queries 的形式并发送,这样可以有效减 少客户端到服务器的请求开销,但副作用是会产生较大的 SQL 语句,例如这样: UPDATE `t` SET `a` = 10 WHERE `id` = 1; UPDATE `t` SET `a` systemctl status firewalld.service 462 5.2.5 检测及安装 NTP 服务 TiDB 是一套分布式数据库系统,需要节点间保证时间的同步,从而确保 ACID 模型的事务线性一致性。目前解 决授时的普遍方案是采用 NTP 服务,可以通过互联网中的 pool.ntp.org 授时服务来保证节点的时间同步,也 可以使用离线环境自己搭建的 NTP 服务来解决授时。 采用如下步骤检查是否安装0 码力 | 4987 页 | 102.91 MB | 10 月前3
TiDB v5.2 中文手册TiFlash 集群可实现近似线性的扩展能力。TiFlash 节点数量应根据期待的性能和响应时间调 整。 75 * 当 OLTP 数据吞吐量较高时(例如写入或更新超过千万行/小时),由于网络和物理磁盘的写入 能力有限,内部 TiKV 与 TiFlash 之间的 I/O 会成为主要瓶颈,也容易产生读写热点。此时 TiFlash 节点数与 OLAP 计算量有较复杂非线性关系,需要根据具体系统状态调整节点数量。 systemctl status firewalld.service 4.2.4 检测及安装 NTP 服务 TiDB 是一套分布式数据库系统,需要节点间保证时间的同步,从而确保 ACID 模型的事务线性一致性。目前解 决授时的普遍方案是采用 NTP 服务,可以通过互联网中的 pool.ntp.org 授时服务来保证节点的时间同步,也 可以使用离线环境自己搭建的 NTP 服务来解决授时。 采用如下步骤检查是否安装 除了时刻同步数据准备着 failover 时投票切换成为 leader 外,没有办法对 TiDB 的请求提供任何帮助。 为了允许在 TiKV 的 follower 节点进行数据读取,同时又不破坏线性一致性和 Snapshot Isolation 的事务隔离, Region 的 follower 节点需要使用 Raft ReadIndex 协议确保当前读请求可以读到当前 leader 上已经 commit0 码力 | 2259 页 | 48.16 MB | 1 年前3
TiDB v5.1 中文手册systemctl status firewalld.service 4.2.4 检测及安装 NTP 服务 TiDB 是一套分布式数据库系统,需要节点间保证时间的同步,从而确保 ACID 模型的事务线性一致性。目前解 决授时的普遍方案是采用 NTP 服务,可以通过互联网中的 pool.ntp.org 授时服务来保证节点的时间同步,也 可以使用离线环境自己搭建的 NTP 服务来解决授时。 采用如下步骤检查是否安装 除了时刻同步数据准备着 failover 时投票切换成为 leader 外,没有办法对 TiDB 的请求提供任何帮助。 为了允许在 TiKV 的 follower 节点进行数据读取,同时又不破坏线性一致性和 Snapshot Isolation 的事务隔离, Region 的 follower 节点需要使用 Raft ReadIndex 协议确保当前读请求可以读到当前 leader 上已经 commit -------+ �→ 8 rows in set (0.01 sec) 在该查询中,TopN 算子的排序规则仅依赖于外表 t 中的列,可以将 TopN 下推到 Join 之前进行一次计算,以减 少 Join 时的计算开销。除此之外,TiDB 同样将 TopN 下推到了存储层中。 示例 3:TopN 不能下推过 Join 的情况 create table t(id int primary0 码力 | 2189 页 | 47.96 MB | 1 年前3
共 16 条
- 1
- 2













