065、故障处理之OMM_TiKV

news2024/11/25 11:36:06

TiKV Server OOM 对业务的影响

  1. TiKV 上的请求失败造成异常退出
  2. region leader重新选举
    • raft group 开始选举新的 region leader
    • 新的region leader 上报信息给PD Server
  3. region cache频繁更新
    • 在访问TiDB Server的region cache时,出现TiKV rpc相关报错
    • 后台自动进行Backoff 重试
    • PD 将最新的Region Leader信息返回给TiDB Server的Region Cache

TiKV Server OOM的诊断方法

  • 日志

    • dmesg -T | grep tikv-server 结果中有事故发生附近时间点的OOM-killer的日志
    • TiKV.log(事故发生后附近时间的"Welcome to TiKV",即TiKV发生了重启)
  • Grafana监控

    • TiKV - Details - Cluster -Memory
      在这里插入图片描述

造成TiKV Server OOM的原因

  1. block-cache 配置不当导致OOM
  2. Coprocessor 收到大量大查询,返回的数据量太大,gRPC的发送速度跟不上Coprocessor往外输出数据的速度,导致OOM
  3. 其他进程占用太多内存

查看block-cache参数配置

在这里插入图片描述

调整block-cache 参数配置

  • 在线调整
set config tikv storage.block-cache.capacity='8155MB';
  • 确认调整是否生效

在这里插入图片描述

gRPC的发送速度跟不上Coprocessor的处理速度

在这里插入图片描述
在这里插入图片描述

  • SQL优化
  • 网卡配置升级

其他原因

  1. Raftstore 数据写入环节内存占用高
    在这里插入图片描述

  2. 目标服务器混不了其他组件且内存占用高

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解放程序员,加速创新,缺少的就是一个工具而已

随着科技的不断进步和应用场景的不断扩大,软件开发已经成为当今世界的核心驱动力之一。 然而,传统的软件开发模式往往存在着繁琐的编码过程、复杂的架构设计和漫长的调试周期,使得程序员们难以专注于创新和高难度的研究。 很多程序员上班的时…

基于解析法和遗传算法相结合的配电网多台分布式电源降损配置(Matlab实现)

目录 1 概述 2 数学模型 2.1 问题表述 2.2 DG的最佳位置和容量(解析法) 2.3 使用 GA 进行最佳功率因数确定和 DG 分配 3 仿真结果与讨论 3.1 33 节点测试配电系统的仿真 3.2 69 节点测试配电系统仿真 4 结论 1 概述 为了使系统网损达到最低值&a…

一分钟学会利用GPT编写爆款标题

🏆 文章目标:学习利用GPT编写爆款标题 🍀 入门篇:一分钟学会利用GPT编写爆款标题 ✅ 创作者:熊猫Jay ✨ 个人公众号: 熊猫Jay字节之旅 (文末有链接) 🍁 展望:若本篇讲解内容帮助到您&#xff0c…

Web网站性能压测实践 | 数据平台

一、 为什么要做压测? 首先解释下为什么要做性能压测:根据 Amazon 统计,每慢 100 毫秒,交易额下降 1%。这个统计数据为大家敲响了警钟,也客观说明了性能压测对于企业应用的重要性。从具体的OKR上讲,我们希望…

常见排序算法-Python实现

python 排序 算法 1.二分法 ​ python 32行 #codingutf-8 def binary_search(input_array, value): """Your code goes here.""" length len(input_array) left 0 right length-1 if length 1: return 0 if value input_value[0] els…

Linux 多线程并发Socket服务端的实现( 11 ) -【Linux通信架构系列 】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythi…

3秒快速打开 jupyter notebook

利用 bat 脚本,实现一键打开 minconda 特点: 1、可指定 python 环境 2、可指定 jupyter 目录 一、配置环境 minconda 可以搭建不同的 python 环境,所以我们需要找到 minconda 安装目录,把对应目录添加到电脑环境 PATH 中&#…

prepros.crack.7.8.5 by Xacker

您友好的 Web 开发伙伴 Prepros 编译您的文件,转译您的 JavaScript,重新加载您的浏览器,并使开发和测试您的网站变得非常容易,这样您就可以专注于使它们完美。 适用于 Windows、macOS 和 Linux 试用版包括所有 Prepros 功能。 编…

【数据结构】树状数组和线段树

树状数组和线段树 下文为自己的题解总结,参考其他题解写成,取其精华,做以笔记,如有描述不清楚或者错误麻烦指正,不胜感激,不喜勿喷! 树状数组 需求: 能够快速计算区间和保证在修改…

了解 MySQL 中 MVCC 的原理

点击上方↑“追梦 Java”关注,一起追梦! 要解决读一致性的问题,保证一个事务中前后两次读取数据结果一致,还有一种 MVCC 的方式,又叫多版本的并发控制(Multi Version Concurrency Control)。 MV…

Flink状态的理解

Flink是一个带状态的数据处理系统;系统在处理数据的过程中,各算子所记录的状态会随着数据的处理而不断变化; 1. 状态 所谓状态State,一般指一个具体的 Task 的状态,即线程处理过程中需要保存的历史数据或历史累计数据…

SpringBoot集成Redis的环境部署以及操作Redis

文章目录 Spring Boot 集成Redis1.环境配置 redis连接配置信息不写默认wei6379,数据库为02.操作Redis2.1 代码形式操作Redis2.2 使用注解方式操作Redis Spring Boot 集成Redis 1.环境配置 添加redis依赖 在老项目添加,可以在pom.xml文件直接添加&#…

DAMO-YOLO 论文学习

1. 解决了什么问题? 工业界追求高性能、低延迟的目标检测算法,研究人员于是聚焦于单阶段目标检测,探索高效的网络结构和训练策略。YOLOv5/v6/v7、YOLOX 和 PP-YOLOE 在 COCO 数据集上实现了不错的精度-速度平衡,得到广泛应用&…

超标量处理器寄存器rename

1.相关性介绍 在CPU中,一段程序会被编译成一连串的汇编指令,指令与指令之间可能会具有相关性(dependency)。所谓相关性,即一条指令的执行会依赖于另一条指令的结果,相关性可以分为:① 数据相关性…

el-table树形表格实现复选框多选效果

2023.7.26今天我学习了如何使用树形表格的时候进行复选框的多选效果。 当我们使用树形结构表格需要进行多选功能操作的时候会发现点击全选的时候,只有一级表格数据会被选中,问题如图: 我们需要实现的是点击全选的不管是几级表格数据都可以被…

ElasticSearch之IK分词器安装以及使用介绍

文章目录 一、IK 分词器简介1. 支持细粒度分词:2. 支持多种分词模式:3. 支持自定义词典:4. 支持拼音分词:5. 易于集成和使用: 二、安装步骤1、下载 IK 分词器插件:2、安装 IK 分词器插件:3. 安装…

各种知名游戏的技术分析

介绍一个GitHub,里面包括了市面上的各种游戏的技术分析,包括渲染管线、工作流、技术文章等等,在做某个类型的游戏的时候,可以针对某个游戏去进行技术参考,特别实用。 GitHub - OTFCG/Awesome-Game-Analysis: a compre…

C++设计模式之模板方法、策略模式、观察者模式

面向对象设计模式是”好的面向对象设计“,所谓”好的面向对象设计“指的是可以满足”应对变化,提高复用“的设计。 现代软件设计的特征是”需求的频繁变化“。设计模式的要点是”寻求变化点,然后在变化点处应用设计模式,从而更好地…

力扣天天练--week3-LeetCode75

topic75-9-t443:压缩字符串 题目描述: 给你一个字符数组 chars ,请使用下述算法压缩: 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 : 如果这一组长度为 1 ,则将字符追加到 s 中。 否则,需…

Spring Boot中整合MyBatis(基于xml方式基于注解实现方式)

一、前提准备 在Spring Boot中整合MyBatis时,你需要导入JDBC(不需要手动添加)和Druid的相关依赖。 JDBC依赖:在Spring Boot中整合MyBatis时,并不需要显式地添加JDBC的包依赖。这是因为,当你添加mybatis-sp…