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

Doris 导入慢该如何排查及优化?

在使用 Apache Doris 进行数据导入时,经常会遇到导入性能不理想的情况。今天我们就来深入分析这些问题的原因及其解决方案!

Stream Load 导入慢

Stream Load 支持通过 HTTP 协议将本地文件或数据流导入到 Doris 中的一种方式,其速度还是相当可以的,具体取决于用户的实际资源情况。但如果导入速度慢,可以根据下列简单步骤进行排查:

常见问题参考文档

排查方法

  1. 监控搜集 BE 的 CPU、内存、IO 等资源使用情况,确保资源充足。
  2. 根据 Load ID 和 Txn ID 在 BE.INFO 日志中搜索慢请求,重点查看进行输送的 Coordinator BE (即 Stream Load 发送的那个 BE)。
  3. 检查客户端到 BE 的网络连通情况,如实时 ping 延迟和网络带宽。
  4. 客户端如何向 BE 发送数据,如果发送过程之序自身就慢,导致 Stream Load 总时间为长。
  5. 检查是否触发了内存下刷,可以通过搜索 BE.INFO 中的 reducing 日志确认。
  6. 导入对应的并发数是否过高,如果并发数超过 HTTP Server 线程数 (默认为 48),就可能导致接收客户端数据慢。
  7. 确认是否导入 Mow 表,因 Mow 表需要计算 delete bitmap,并分析计算时间。

另外: 可以看看sync_tablet_meta 参数的状态(sync_tablet_meta 设置为false的话, BE 元数据rocksdb之前就没有sync,断电可能会出现丢数据情况。设置为true的话,在hdd上 sync操作会比较费)

案例分享

1.fe和be是混布的,共用单块磁盘,master fe节点的磁盘IO打满导致stream load导入慢

2.网络慢导致的问题

注意⚠️: flink 写入的底层也是stream load,所以flink写入慢的情况可参考上述步骤分析。

Routine Load 消费慢

Doris 可以通过 Routine Load 导入方式持续消费 Kafka Topic 中的数据。Doris 通过这种方式可以实时生成导入任务不断消费 Kakfa 集群中指定 Topic 中的消息。如果存在消费慢的情况,可以根据下列步骤进行排查:

常见问题参考文档

排查方法

  1. 检查 Routine Load 配置,确认配置正确,参考文档。
  2. 使用 SHOW ROUTINE LOAD 查看 abortedTaskNum,是不是很多,很多表明 Task 一直失败,需要在 FE 日志中根据 Job ID 查详细失败原因。
  3. 如果配置没有问题,且 Task 没有失败,检查是否存在资源瓶颈。
  4. 如果没有资源瓶颈,分析 Kafka 是否慢。
    可在 BE 日志中搜索 blocking get time(us),如有显著高值,如下:
    blocking get time(us): 10018529, blocking put time(us): 1691
    
    表明 Kafka 慢了,看下kafka的问题。

案例分享

1.磁盘是共享的,其他服务把盘io打满了

Insert Into Select 导入慢

INSERT INTO 支持将 Doris 查询的结果导入到另一个表中。如果在进行 Insert Into Select 操作时发现性能慢,可根据下列步骤进行解决:

排查步骤

  1. 利用 SET dry_run_query = true 先运行查询,确认是否为查询慢导致。
  2. 如果是 Doris 2.0 到 2.1.3 之间的版本,设置 enable_nereids_dml = true,启用新最优化器。2.1.3之后默认开启了。
  3. 2.1 以上 set enable_memtable_on_sink_node = false 测试下非前移对导入的影响。

注意⚠️:MemTable 前移在 2.1 版本中默认开启,用户无需修改原有的导入命令即可获得大幅性能提升。如果在使用过程中遇到问题、希望回退到原有的导入方式,可以在 MySQL 连接中设置环境变量 enable_memtable_on_sink_node=false 来关闭 MemTable 前移。

  1. 2.1 以上 Set enable_strict_consistency_dml = false 测试下关 shuffle对导入的影响。

注意⚠️:启用 shuffle 可能会导致数据在 SINK 上分布不均衡

  1. Set experimental_enable_pipeline_engine = false 和 experimental_enable_pipeline_x_engine= false 试试关 pipeline
  2. 非 pipeline 模式调大 parallel_fragment_exec_instance_num 增大并发
  3. Pipeline 模式调大 parallel_pipeline_task_num 增大并发

在上面三种方式导入过程中,如果上面的方法,仍然不能确定具体原因,可以通过设置 enable_profile = true 获取导入的 Profile 来具体分析分析慢的原因。自己不会分析的话,可以联系Doris社区同学,妥妥没问题~

相关文章:

Doris 导入慢该如何排查及优化?

在使用 Apache Doris 进行数据导入时,经常会遇到导入性能不理想的情况。今天我们就来深入分析这些问题的原因及其解决方案! Stream Load 导入慢 Stream Load 支持通过 HTTP 协议将本地文件或数据流导入到 Doris 中的一种方式,其速度还是相当…...

iOS - 关联对象的实现

根据源码总结一下关联对象(Associated Objects)的实现: 1. 关联对象的基本结构 // 对象的 isa 结构中包含关联对象标记 union isa_t {struct {uintptr_t nonpointer : 1; // 是否使用优化的 isauintptr_t has_assoc : 1; // 是否有关联对象// ...其他位…...

AudioGPT全新的 音频内容理解与生成系统

AudioGPT全新的 音频内容理解与生成系统 ChatGPT、GPT-4等大型语言模型 (LLM) 在语言理解、生成、交互和推理方面表现出的非凡能力,引起了学界和业界的极大关注,也让人们看到了LLM在构建通用人工智能 (AGI) 系统方面的潜力。 现有的GPT模型具有极高的语言生成能力,是目前最…...

【maptalks】加载SVG和GIF

加载SVG和GIF 一、加载SVG方法一:直接载入SVG文件,类似载入图片方法二:载入SVG路径 二、加载GIFVUEmaptalks实现GIF可拖拽点VUEmaptalks实现GIF跟随线条动画 一、加载SVG 方法一:直接载入SVG文件,类似载入图片 缺点&…...

【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页

【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页 一、问题背景: 如今,大家都离不开各种手机应用。随着鸿蒙系统用户越来越多,大家都希望能在鸿蒙设备上快速找到想用的 APP。华为应用市场里有海量的 APP,但之前从鸿蒙设备进…...

《leetcode-runner》【图解】如何手搓一个debug调试器——调试程序【JDI开发】【万字详解】

前文: 《leetcode-runner》如何手搓一个debug调试器——引言 《leetcode-runner》如何手搓一个debug调试器——架构 《leetcode-runner》如何手搓一个debug调试器——指令系统 本文主要聚焦于如何编写调试程序 背景 在leetcode算法背景下,用户只编写了…...

【高阶数据结构】线段树加乘(维护序列)详细解释乘与加懒标记

文章目录 1.题目[AHOI2009] 维护序列 2.懒标记处理先加后乘的形式1. 先加后乘的操作 先乘后加的形式2. 先乘后加的操作**乘法操作****加法操作** 懒标记的下传 3.代码 1.题目 题目来源:https://www.luogu.com.cn/problem/P2023 [AHOI2009] 维护序列 题目背景 老师交给小可可…...

ElasticSearch常见知识点

1、什么是ElasticSearch? Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。 2、什么是倒排索引? 正常的索引是比如二叉树。倒排索引是用内容…...

ARM与x86:架构对比及其应用

典型的服务器架构的x86采用模块化方法,基于带有可更换组件的主板。CPU和其他组件(如显卡和GPU、内存控制器、存储或处理核心)针对特定功能进行了优化,可以轻松更换或扩展。然而,这种便利是有代价的;这些硬件…...

macos 搭建 ragflow 开发环境

ragflow 是一个很方便的本地 RAG 库。本文主要记录一下在本机的部署过程 1、总体架构说明 开发环境:macbook pro(m1),16G内存 512G固态 因本机的内存和硬盘比较可怜,所以在服务器上部署基础 docker 包,…...

CVPR 2024 人体姿态估计总汇(3D人体、手语翻译和人体网格恢复/重建等)

1、Human Pose Estimation(人体姿态估计) CLOAF: CoLlisiOn-Aware Human FlowMeta-Point Learning and Refining for Category-Agnostic Pose EstimationSurMo: Surface-based 4D Motion Modeling for Dynamic Human Rendering ⭐codeGALA: Generating Animatable Layered Ass…...

docker 安装mongodb

1、先获取mongodb镜像 docker pull mongo:4.2 2、镜像拉取完成后,运行mongodb容器 docker run \ -d \ --name mongo \ --restartalways \ --privilegedtrue \ -p 27017:27017 \ -v /home//mongodb/data:/data/db \ mongo:4.2 --auth 3、mongodb服务配置 如上图&…...

82_Redis缓存雪崩击穿穿透问题

在实际业务应用中,Redis常常与诸如MySQL这类关系型数据库协同工作,旨在缓解后端数据库的负担。它扮演了一个高效缓存的角色,特别是针对那些频繁被访问的热点数据。当用户发起查询时,系统首先尝试从Redis中获取这些数据。由于Redis提供了极快的访问速度,如果数据存在于Redi…...

统计学习算法——逻辑斯谛回归

内容来自B站Up主:动画讲编程https://www.bilibili.com/video/BV1CR4y1L7RC、风中摇曳的小萝卜https://www.bilibili.com/video/BV17r4y137bW,仅为个人学习所用。 极大似然估计 几率、概率与似然 几率是指某个事件发生的可能性与不发生的可能性之比&am…...

设计模式03:行为型设计模式之策略模式的使用情景及其基础Demo

1.策略模式 好处:动态切换算法或行为场景:实现同一功能用到不同的算法时和简单工厂对比:简单工厂是通过参数创建对象,调用同一个方法(实现细节不同);策略模式是上下文切换对象,调用…...

C51交通控制系统的设计与实现

实验要求: 本题目拟设计一个工作在十字路口的交通信号灯控制系统,设东西方向为主干道A,南北方向为辅助干道B。要求:(1)用发光二极管模拟交通灯信号;(2)灵活控制主、辅干…...

css 实现自定义虚线

需求: ui 画的图是虚线,但是虚线很宽正常的border 参数无法做到 进程: 尝试使用 border:1px dashed 发现使用这个虽然是虚线但是很短密密麻麻的 这并不是我们想要的那就只能换方案 第一个最简单,让ui 画一个图然…...

网络协议基础--协议分层

一.协议概述 1.TCP/IP 传输协议概述 TCP/IP 传输协议,即传输控制 / 网络协议,也被称作网络通讯协议。它是网络中使用的最基本通信协议,对互联网中各部分进行通信的标准和方法予以规定。通常所说的 TCP/IP 协议并非仅指 TCP 和 IP 两个协议&a…...

iOS - TLS(线程本地存储)

从源码中,详细总结 TLS (Thread Local Storage) 的实现: 1. TLS 基本结构 // TLS 的基本结构 struct tls_data {pthread_key_t key; // 线程本地存储的键void (*destructor)(void *); // 清理函数 };// 自动释放池的 TLS class Autorelease…...

主链和Layer2之间资产转移

主链和Layer2之间资产转移 主链和Layer2之间资产转移是实现Layer2技术的关键环节,以下是资产转移的流程、流行解决方案及原理: 资产从主链转移到Layer2 用户在主链上发起一笔交易,将资产发送到一个特定的智能合约地址,这个合约是主链与Layer2之间的桥梁。智能合约会锁定用…...

深度学习-算法优化与宇宙能量梯度分布

在当今迅速发展的科技世界中,算法优化和能量分布问题已成为研究的热点,尤其是在人工智能、机器学习和物理科学领域。算法优化通常涉及提高计算效率和降低资源消耗,而宇宙能量梯度分布则涉及宇宙中能量的分布和流动方式。两者看似是完全不同的…...

《Java核心技术II》实现服务器

实现服务器 这节实现简单服务器,可以向客户端发送信息。 服务器套接字 ServerSocket用于建立套接字 var s new ServerSocket(8189); 建立一个监听端口8189的服务器。 Socket incoming s.accept(); 此对象可以得到输入流和输出流。 InputStream inStream incomin…...

登上Nature!交叉注意力机制 发顶会流量密码!

在深度学习领域,交叉注意力融合技术正迅速崛起,并成为处理多模态数据的关键工具。这一技术通过有效地整合来自不同模态的信息,使得模型能够更好地理解和推理复杂的数据关系。 随着多模态数据的日益普及,如图像、文本和声音等&…...

Windows 正确配置android adb调试的方法

下载适用于 Windows 的 SDK Platform-Tools https://developer.android.google.cn/tools/releases/platform-tools?hlzh-cn 设置系统变量,路径为platform-tools文件夹的绝对路径 点击Path添加环境变量 %adb%打开终端输入adb shell 这就成功了!...

leetcode刷题记录(五十六)——53. 最大子数组和

(一)问题描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,…...

SQL BETWEEN 操作符

SQL BETWEEN 操作符 SQL中的BETWEEN操作符用于选取介于两个值之间的数据范围。这些值可以是数字、文本或日期。BETWEEN操作符是SQL中非常实用的一个功能,它可以帮助我们快速地筛选出符合特定条件的数据记录。 BETWEEN操作符的基本用法 BETWEEN操作符的基本语法如…...

分布式 IO 模块:引领立体车库迈向智能化新时代

在城市空间愈发珍贵的当下,立体车库作为高效利用空间的停车解决方案,正日益普及。而明达技术MR30分布式 IO 模块的应用,如同为立体车库注入了智能 “芯” 动力,让停车变得更加便捷、高效、智能。 MR30分布式 IO 模块,作…...

《C++11》深入剖析正则表达式库:解锁文本处理的高效之道

在现代编程领域,文本处理是一项不可或缺的任务,而正则表达式无疑是这一领域的强大利器。C11标准库的引入,为C开发者带来了正则表达式库,极大地丰富了C在文本处理方面的能力。本文将全方位、多角度地深入探讨C11正则表达式库&#…...

Mongodb相关内容

Mongodb相关内容 1、Windows平台安装2、Linux平台安装3、基本常用命令文档更新删除文档分页查询索引 pymongo操作 客户端下载:https://download.csdn.net/download/guoqingru0311/90273435 1、Windows平台安装 方式一: 方式2: 方式3&#…...

United States of America三种表示

"United States of America", "United States", 和 "America" 都表示美国,但它们的使用场景和背景略有不同。以下是关于为什么这些名称可以合在一起表示美国的详细解释: 1. "United States of America" 全称&a…...

【Redis】Redis特性及其应用场景

目录 Redis特性 在内存中存储数据 可编程性 可扩展性 持久化 集群 高可用 补充特性 Redis的应用场景 数据库 缓存 会话存储 消息队列中间件 Redis特性 Redis是一个在内存中存储数据的中间件,用于作为数据库、数据缓存。Redis在分布式系统中有着较…...

Vue 使用blob下载文件,打开文件,文件是损毁的

文章目录 问题分析解决 问题 如图所示,在进行图片下载时下载的文件显示图片已被损 分析 代码如下: import axios from axios; async function downloadImage1(link, name) {try {const response await axios.get(link, {responseType: blob, // 设置响…...

Android 通过systrace如何快速找到app的刷新率

1. 如何抓取systrace: 方法一 andrdoid11以及以上的android版本都支持使用perfetto的方式抓取systrace,简单好用。 adb shell perfetto --buffer 512mb --time 10s --out /data/misc/perfetto-traces/perfetto_trace gfx input view wm am hal res dalv…...

vulnhub靶场【Raven系列】之2 ,对于mysql udf提权的复习

前言 靶机:Raven-2,IP地址为192.168.10.9 攻击:kali,IP地址为192.168.10.2 都采用虚拟机,网卡为桥接模式 文章所用靶机来自vulnhub,可通过官网下载,或者通过链接:https://pan.quark.cn/s/a65…...

【单片机开发 - STM32(H7)】启动流程、方式、烧录方式详解

如侵权,联系删,个人总结学习用 参考资料:(最末尾有我的原生笔记,那个格式规范点) 安富莱 ARM汇编伪指令详解-CSDN博客 【STM32】STM32内存映射以及启动过程(超详细过程)-CSDN博客…...

[手机Linux] ubuntu 错误解决

Ubuntu: 1,ttyname failed: Inappropriate ioctl for device 将 /root/.profile 文件中的 mesg n || true 改为如下内容。 vim /root/.profile tty -s && mesg n || true 2,Errors were encountered while processing: XXX XXXX sudo apt-get --purge remove xxx…...

springCloudGateway+nacos自定义负载均衡-通过IP隔离开发环境

先说一下想法,小公司开发项目,参考若依框架使用的spring-cloud-starter-gateway和spring-cloud-starter-alibaba-nacos, 用到了nacos的配置中心和注册中心,有多个模块(每个模块都是一个服务)。 想本地开发,…...

MyBatis-增删改查操作一些细节

目录 删除 新增 修改 查询 小结: 删除功能 需求:根据ID删除用户信息 SQL:delete from user where id 5; Mapper接口方法(注意这里不是实现类): /*** 根据id删除*/ Delete("delete from user wher…...

windows 极速安装 Linux (Ubuntu)-- 无需虚拟机

1. 安装 WSL 和 Ubuntu 打开命令行,执行 WSL --install -d ubuntu若报错,则先执行 WSL --update2. 重启电脑 因安装了子系统,需重启电脑才生效 3. 配置 Ubuntu 的账号密码 打开 Ubuntu 的命令行 按提示,输入账号,密…...

【学习笔记】各种强化学习环境

0. 写在前面 0.1 强化学习综述/资料(更新中) 鹏程实验室: 中文报道:学术分享丨具身智能综述:鹏城实验室&中大调研近400篇文献,英文原文:Aligning Cyber Space with Physical World…...

统计有序矩阵中的负数

统计有序矩阵中的负数 描述 给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目 示例 1: 输入:grid [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]…...

【已解决】git clone报错:Failed to connect to github.com port 443: Timed out

1.问题原因1 报错信息1: fatal: unable to access https://github.com/microsoft/xxx/: Failed to connect to github.com port 443: Timed out 报错信息2: fatal: unable to access https://github.com/xxx/xx/: OpenSSL SSL_read: Connection was …...

Android SystemUI——使用Dagger2加载组件(四)

SystemUI 是 Android 系统中的一个重要模块,负责绘制系统栏(如状态栏、导航栏)、锁屏、快捷设置等用户界面元素。由于其复杂性,良好的架构设计和依赖管理对于保持代码的可维护性和扩展性至关重要。这就是 Dagger2 在此发挥重要作用的地方。 一、Dagger2介绍 Dagger2 是一个…...

Lesson 109 A good idea

Lesson 109 A good idea 词汇 idea n. 主意,想法 复数:ideas 用法:口语:Good idea! 好主意!       Big idea! 高见!好主意!       Great idea! 好主意       Bad idea! 坏主…...

网络安全-RSA非对称加密算法、数字签名

数字签名非常普遍: 了解数字签名前先了解一下SHA-1摘要,RSA非对称加密算法。然后再了解数字签名。 SHA-1 SHA-1(secure hash Algorithm )是一种 数据加密算法。该算法的思想是接收一段明文,然后以一种不可逆的方式将…...

自动化办公|xlwings简介

xlwings 是一个开源的 Python 库,旨在实现 Python 与 Microsoft Excel 的无缝集成。它允许用户使用 Python 脚本自动化 Excel 操作,读取和写入数据,执行宏,甚至调用 VBA 脚本。这使得数据分析、报告生成和其他与 Excel 相关的任务…...

C#使用OpenTK绘制3D可拖动旋转图形三棱锥

接上篇,绘制着色矩形 C#使用OpenTK绘制一个着色矩形-CSDN博客 上一篇安装OpenTK.GLControl后,这里可以直接拖动控件GLControl 我们会发现GLControl继承于UserControl //// 摘要:// OpenGL-aware WinForms control. The WinForms designer will always call the default//…...

【网络云SRE运维开发】2025第3周-每日【2025/01/14】小测-【第13章ospf路由协议】理论和实操

文章目录 选择题(10道)理论题(5道)实操题(5道) 【网络云SRE运维开发】2025第3周-每日【2025/01/14】小测-【第12章ospf路由协议】理论和实操 选择题(10道) 在OSPF协议中&#xff0c…...

计算机网络 (34)可靠传输的工作原理

前言 计算机网络可靠传输的工作原理主要依赖于一系列协议和机制,以确保数据在传输过程中能够准确无误地到达目的地。 一、基本概念 可靠传输指的是数据链路层的发送端发送什么,在接收端就收到什么,即保证数据的完整性、正确性和顺序性。由于网…...

提高互联网Web安全性:避免越权漏洞的技术方案

目录 一、越权漏洞概述 二、常见的越权漏洞类型 三、越权漏洞的影响 四、越权漏洞的技术解决方案 一、越权漏洞概述 越权(Authorization Bypass)类漏洞是指在系统中,攻击者通过绕过身份验证或访问控制,获取本不应访问的资源或…...