Tracing in TiDB 浅谈全链路监控:
从应用到数据库到 Runtime浅谈全链路监控: 从应用到数据库到 Runtime 黄东旭, Co-founder & CTO, PingCAP 关于我 黄东旭,联合创始人 & CTO @ PingCAP 做分布式数据库的程序员 ● 现在能写代码的时间是奢侈品 TiDB 的亲爹之一兼首席客服和新功能的第一个用户 ● 冤有头债有主,SQL 慢了来找我。。。 偶尔玩玩音乐 ● 摇滚乐->实验音乐 Go 的粉丝!!!!0 码力 | 39 页 | 3.43 MB | 1 年前3
[PingCAP Meetup SH 5.26]TiDB在易果集团的应用易易果集团由易易果⽣生鲜成⽴立,未来将 着⼒力力打造三个业务板块:全渠道运营、安鲜达物流和采购供应链,2017 年年与天猫⽣生鲜全⾯面融合,GMV达到100亿。 SKU数超过4000,线上最⼤大 ⼋八⼤大品类涵盖,线上最全 采购覆盖全球6⼤大洲 39个国家地区147个产地 冷链仓全国布局最⼴广,15地24仓 产能全国最⼤大,180万件/天 冷链物流全国规模最⼤大,覆盖全国近400 个城市 ⾏行行业最⼤大的⽣生鲜电商运营平台0 码力 | 12 页 | 585.78 KB | 6 月前3
TiDB 开源分布式关系型数据库QPS 的十倍以上。 在双十一期间,北京银行 IT 团队进行多次线上的运维操作,包括版本升级、打补丁等,利用TiDB 分布式 数据库的多副本特性实现“运维零中断”的操作。随着系统升级,北京银行的网联业务链,包括上游的手 机银行到网联、银联无卡快捷支付业务中台,到后台的金融日历、查询服务都已经进行了分布式架构的升 级,完成了与TiDB 的对接。 用户收益 北京银行分布式核心系统建设项目荣获 2020 从Exadata 到TiDB HTAP 的升级之路 中通快递业务是世界领先的快递企业,2019 年双十一完成订单最超 2 亿。中通科技是中通快递旗下的 互联网物流科技平台,为中通生态圈的业务打造全场景全链路的数字化平台服务。 业务挑战 随着业务发展带来的数据量激增,存放在 Oracle Exadata 一体机数据周期越来越短 ,分库分表的设计满 足不了时效需求,统计分析依赖存储过程,系统的扩展性和可维护性不高。业务高峰时期单机遇到性能 的业 务通过 TiSpark 做分钟级的分析。经过业务实测,TiSpark 同步 3 亿条数据到 Hive 大概需要 10 分钟, 为中通快递的实时数仓建设与离线 T+1 的整合提供保障,有效支撑全链路的时效分析与监控,可以准 实时地了解每一票件在每一个环节的状态。 一 PingCAPCOM 第五章 - 场景案例 核心业务系统架构图 用户收益0 码力 | 58 页 | 9.51 MB | 1 年前3
TiDB v7.1 中文手册JSON_OVERLAPS() 的检索条件可以利用该多值索引进行过滤,从而减少大量的 I/O 消 耗,提升执行速度。 在 v7.1.0 中,TiDB 多值索引成为正式功能 (GA),支持更完整的数据类型,并与 TiDB 的工具链兼容。你可 以在生产环境利用多值索引来加速对 JSON 数组的检索操作。 更多信息,请参考用户文档。 • 完善 Hash 分区表和 Key 分区表的分区管理功能 #42728 @mjonss 在 DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup cdc cli changefeed create --server=http://172.16.6.122:8300 --sink-uri="mysql://root: �→ @172 +-------------------------+ 1 row in set (0.00 sec) ``` 6.4.9.4 第 4 步:平滑切换业务 通过 TiCDC 创建上下游的同步链路后,原集群的写入数据会以非常低的延迟同步到新集群,此时可以逐步将 读流量迁移到新集群了。观察一段时间,如果新集群表现稳定,就可以将写流量接入新集群,步骤如下: 1. 停止上游集群的写业务。确认上游0 码力 | 4369 页 | 98.92 MB | 1 年前3
TiDB v6.1 中文手册DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup cdc cli changefeed create --pd=http://172.16.6.122:2379 --sink-uri="mysql://root:@172 �→ .16 +-------------------------+ 1 row in set (0.00 sec) ``` 6.3.8.4 第 4 步:平滑切换业务 通过 TiCDC 创建上下游的同步链路后,原集群的写入数据会以非常低的延迟同步到新集群,此时可以逐步将 读流量迁移到新集群了。观察一段时间,如果新集群表现稳定,就可以将写流量接入新集群,步骤如下: 1. 停止上游集群的写业务。确认上游 DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup ctl:cdc changefeed create --pd=http://127.0.0.1:2379 --sink-uri=" �→ mysql://root:@127 0 码力 | 3572 页 | 84.36 MB | 1 年前3
TiDB v6.5 中文手册DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup cdc cli changefeed create --server=http://172.16.6.122:8300 --sink-uri="mysql://root: �→ @172 +-------------------------+ 1 row in set (0.00 sec) ``` 6.3.9.4 第 4 步:平滑切换业务 通过 TiCDC 创建上下游的同步链路后,原集群的写入数据会以非常低的延迟同步到新集群,此时可以逐步将 读流量迁移到新集群了。观察一段时间,如果新集群表现稳定,就可以将写流量接入新集群,步骤如下: 1. 停止上游集群的写业务。确认上游 DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup ctl:vcdc changefeed create --server=http://127.0.0.1:8300 --sink-uri �→ ="mysql://root:@127 0 码力 | 4049 页 | 94.00 MB | 1 年前3
TiDB v5.2 中文手册System,System 对应的实 际时区在 TiDB 集群 bootstrap 初始化时设置。具体逻辑如下: • 优先使用 TZ 环境变量 • 如果失败,则从 /etc/localtime 的实际软链地址提取。 • 如果上面两种都失败则使用 UTC 作为系统时区。 在运行过程中可以修改全局时区: SET GLOBAL time_zone = timezone; TiDB 还可以通过设置 session 会触发所有诊断规则对系统进行诊断,并在结果中展示系统中的 故障或风险。 • 诊断汇总表information_schema.inspection_summary 用于对特定链路或模块的监控进行汇总,用户可 以根据整个模块或链路的上下文来排查定位问题。 299 8.4 定位消耗系统资源多的查询 TiDB 会将执行时间超过tidb_expensive_query_time_threshold 限制(默认值为 v5.1 及以后的版本,建议尝试查询 INFORMATION_SCHEMA.DEADLOCKS 或 INFORMATION_SCHEMA.CLUSTER_DEADLOCKS 系统表来获取死锁的等待链信息。详情请参考死锁错误小 节和DEADLOCKS 表文档。 • 如果出现非常频繁,需要调整业务代码来降低死锁发生概率。 8.12.2.4 使用 Lock View 排查悲观锁相关的问题 自 v50 码力 | 2259 页 | 48.16 MB | 1 年前3
TiDB v5.3 中文手册MaxMessageBytes 的默认值,由 64 MB 减小为 1 MB,以修复消息过大 会被 Kafka Broker 拒收的问题 #3104 * 减少同步链路中的内存占用 #2553#3037 #2726 * 优化监控项和告警规则,提升了同步链路、内存 GC、存量数据扫描过程的可观测性 #2735 #1606 #3000 #2985 #2156 * 当同步任务状态正常时,不再显示历史错误信息,避免误导用户 System,System 对应的实 际时区在 TiDB 集群 bootstrap 初始化时设置。具体逻辑如下: • 优先使用 TZ 环境变量 • 如果失败,则从 /etc/localtime 的实际软链地址提取。 • 如果上面两种都失败则使用 UTC 作为系统时区。 在运行过程中可以修改全局时区: SET GLOBAL time_zone = timezone; TiDB 还可以通过设置 session 会触发所有诊断规则对系统进行诊断,并在结果中展示系统中的 故障或风险。 • 诊断汇总表information_schema.inspection_summary 用于对特定链路或模块的监控进行汇总,用户可 以根据整个模块或链路的上下文来排查定位问题。 315 8.4 定位消耗系统资源多的查询 TiDB 会将执行时间超过tidb_expensive_query_time_threshold 限制(默认值为0 码力 | 2374 页 | 49.52 MB | 1 年前3
TiDB v8.0 中文手册DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup cdc cli changefeed create --server=http://172.16.6.122:8300 --sink-uri="mysql://root: �→ @172 +-------------------------+ 1 row in set (0.00 sec) ``` 6.4.10.4 第 4 步:平滑切换业务 通过 TiCDC 创建上下游的同步链路后,原集群的写入数据会以非常低的延迟同步到新集群,此时可以逐步将 读流量迁移到新集群了。观察一段时间,如果新集群表现稳定,就可以将写流量接入新集群,步骤如下: 1. 停止上游集群的写业务。确认上游 DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup cdc:vcli changefeed create --server=http://127.0.0.1:8300 --sink-uri �→ ="mysql://root:@127 0 码力 | 4805 页 | 101.28 MB | 1 年前3
TiDB v7.5 中文手册DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup cdc cli changefeed create --server=http://172.16.6.122:8300 --sink-uri="mysql://root: �→ @172 +-------------------------+ 1 row in set (0.00 sec) ``` 6.4.10.4 第 4 步:平滑切换业务 通过 TiCDC 创建上下游的同步链路后,原集群的写入数据会以非常低的延迟同步到新集群,此时可以逐步将 读流量迁移到新集群了。观察一段时间,如果新集群表现稳定,就可以将写流量接入新集群,步骤如下: 1. 停止上游集群的写业务。确认上游 DC 部署。 本文在创建测试集群时,已经启动了一个 TiCDC 节点,因此可以直接进行 changefeed 的配置。 2. 创建同步任务。 在上游集群中,执行以下命令创建从上游到下游集群的同步链路: tiup cdc:vcli changefeed create --server=http://127.0.0.1:8300 --sink-uri �→ ="mysql://root:@127 0 码力 | 4590 页 | 100.91 MB | 1 年前3
共 18 条
- 1
- 2













