当前位置: 首页 > news >正文

tidb-一场select in百万参数引发的血案

一、背景

最近的tidb突然出现了写入极慢的原因,这时候就要排查下为什么了,我们一步步看看解决的方法

二、排查

整体写入慢的排查思路可以看下官网,

1.解决中

我们按照排查步骤一步步排查,最重要的监控就是查看raft io了,这里可以看到commit的耗时严重异常

tikv details -> raft io -> commit log duration
在这里插入图片描述

那么这个耗时为什么会这么长,这就需要排查慢日志了,慢日志的排插,排查出一些写入的sql后我们发现了下面这条主要的sql

select a,b,c from table_a where info="456" and info_id in (123,45,6,3453,4534,....,sdfs) group by abc

这个问题的重点是in里面有上百万个参数,而这个大的慢sql又导致了执行计划超过1G,这个慢查询写入到日志里就会占用大量的磁盘性能,调用查看慢查询的时候也会占用大量磁盘的性能,而tidb和tikv也有一台机器进行了混步,整体的raft log同步也会变得较慢

2.解决后

现在我们看看将这条sql优化后的情况,可以看到commit log的耗时已经变得非常低了,这时候我们的写入也变得正常了
在这里插入图片描述

三、总结

当然,中间的排查结果并不是这么顺利的,调整了很多参数,都没有太起作用,最后才定位到这个慢sql,主要是没有想到这个慢sql的执行计划这么大,造成了如此大的影响

相关文章:

  • 软件测试学习笔记丨curl命令发送请求
  • 前端框架的选择与考量:一场技术的盛宴
  • 电缆缺陷检测系统源码分享
  • 网页设计html心得
  • 数据对接 模板设计模式的使用
  • latex设置背景颜色
  • IMDB影评情感分析项目
  • Elasticsearch深度攻略:核心概念与实践应用
  • iwebsec靶场 解析漏洞通关笔记2-Nginx解析漏洞
  • 【YashanDB知识库】YashanDB-OCI-快速上手
  • selenium 显示等待12种预置条件包括定制等待条件
  • 如何改变音频声音大小?关于改变音频大小的方法介绍
  • 线程与线程安全,生产消费者模型
  • Python+appium自动化+夜神模拟器inspector部署验证
  • 【工具类】证书自动续签免费版 正式发布
  • 5、React组件事件详解
  • 78. Subsets
  • es6要点
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • laravel 用artisan创建自己的模板
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • MySQL QA
  • Protobuf3语言指南
  • PV统计优化设计
  • Quartz初级教程
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • vue 个人积累(使用工具,组件)
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 计算机在识别图像时“看到”了什么?
  • 精彩代码 vue.js
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 如何胜任知名企业的商业数据分析师?
  • 深度学习在携程攻略社区的应用
  • 优秀架构师必须掌握的架构思维
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​卜东波研究员:高观点下的少儿计算思维
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #include到底该写在哪
  • ${factoryList }后面有空格不影响
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (04)odoo视图操作
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (java)关于Thread的挂起和恢复
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (八)Spring源码解析:Spring MVC
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (四)进入MySQL 【事务】
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)Linux下编译安装log4cxx
  • (转)scrum常见工具列表
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一