首页 > 其他分享 >DolphinScheduler项目管理页面加载缓慢?这样优化

DolphinScheduler项目管理页面加载缓慢?这样优化

时间:2025-01-15 14:33:44浏览次数:1  
标签:definition dolphinscheduler 项目管理 DolphinScheduler ds process code id 加载

file

问题现象

有时候,Apache DolphinScheduler项目管理页面会发生加载不出来的问题,浏览器查看为[http://ip:12345/dolphinscheduler/projects?pageSize=10&pageNo=1&searchVal=]请求超时。

file

解决思路

  1. 查看海豚运行日志(未发现异常)
tail /home/dolphinscheduler/api-server/logs/dolphinscheduler-api.log

file

  1. 尝试重启海豚的api-server模块
sh /home/dolphinscheduler/bin/dolphinscheduler-daemon.sh stop api-server
sh /home/dolphinscheduler/bin/dolphinscheduler-daemon.sh start api-server

结果:还是加载不出来

  1. 尝试请求超时连接发现请求能出数据,但是要十多秒
    file

  2. 尝试查看源码,可能是慢查询
    代码位置
    file

  3. 使用arthas查看运行情况

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar 
#找dolphinscheduler-api的那个就是,我的是第一个就看到了

查看运行状况,查看是哪里运行时间长。可以看到是queryProjectListPaging方法。

trace org.apache.dolphinscheduler.api.service.impl.ProjectServiceImpl queryProjectListPaging -n 1

file

进入queryProjectListPaging方法

file

尝试运行sql,发现没有很慢。

select * from t_ds_project p
                  where 1=1  and p.id  in(1,2,3,5,6,8,9,12,13,14,16,17,19,21,22,23,25,26)
                  group by p.id
                  order by p.id desc

尝试运行海运再运行中的sql,这里使用了arthas加上https://ctbots.com/#/arthas/parseMybatisSql辅助获取运行的sql。

file
file

  1. 获得慢sql,进行分析
select

    p.id, p.name, p.code, p.description, p.user_id, p.flag, p.create_time, p.update_time

        ,
    u.user_name as user_name,
    (SELECT COUNT(*) FROM t_ds_process_definition AS def WHERE def.project_code = p.code) AS def_count,
    (SELECT COUNT(*) FROM t_ds_process_definition_log def, t_ds_process_instance inst WHERE def.code =
                                                                                            inst.process_definition_code and def.version = inst.process_definition_version AND def.project_code = p.code
                                                                                        AND inst.state=1 ) as inst_running_count
from t_ds_project p
         left join t_ds_user u on u.id=p.user_id
where 1=1

  and p.id  in
      (1, 2, 3, 5, 6, 8, 9, 12, 13, 14, 16, 17, 19, 21, 22, 23, 25, 26)
group by p.id,u.user_name
order by p.id desc LIMIT 100

通过explain分析sql可知是inst_running_count这里查询慢。查看t_ds_process_definition表就28万多数据,t_ds_process_definition_log表有1千数据。
由此可知是日志数据太多了。尝试优化这个查询,给t_ds_process_instance加索引

create index qwl_diy_index
    on t_ds_process_instance (process_definition_code, process_definition_version, state);

添加后验证,确实是快了。页面也恢复正常了。
file

原文链接:https://blog.csdn.net/weixin_41673092/article/details/144510764

本文由 白鲸开源 提供发布支持!

标签:definition,dolphinscheduler,项目管理,DolphinScheduler,ds,process,code,id,加载
From: https://www.cnblogs.com/DolphinScheduler/p/18672927

相关文章

  • springboot毕设 工程项目管理系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在当今快速变化的商业环境中,工程项目管理成为企业成功实施各类项目的关键环节。随着项目规模的不断扩大和复杂度的日益提升,传统的人工管理方式已难以......
  • 2025年——29款顶级项目管理工具,提升工作效率必备!
    在2025年的数字化时代,项目管理已成为企业成功不可或缺的一环。随着技术的飞速发展,各种项目管理工具应运而生,旨在帮助团队更高效、更准确地完成任务。今天,我们将为大家介绍30款顶级项目管理工具,这些工具不仅涵盖了从任务分配到资源管理的各个方面,还能通过智能化手段优化工作流程,提......
  • Echarts服务端渲染以及客户端懒加载实现方案
    为了提升首屏的加载速度,考虑先用服务端渲染快速输出首屏图表,然后等待echarts.js加载完后,通过注水操作(Hydration),重新在客户端渲染同样的图表tips:在客户端渲染的时候,应开启tooltip:{show:true}之类的交互组件,并且用animation:0关闭初始动画(初始动画应由服务端渲染结......
  • 云端管理最佳选择:10款项目管理工具推荐
    在当今数字化时代,云端项目管理工具已经成为企业提升效率、优化资源分配和实现目标的重要助手。无论是小型团队还是大型企业,选择合适的项目管理工具都能显著提高协作效率、简化流程并确保项目按时交付。本文将为您推荐10款功能强大且易于使用的云端项目管理工具,帮助您找到最适合团......
  • 企业数字化转型的助推器:2025年10款项目管理工具推荐
    在当今快速变化的商业环境中,企业数字化转型已成为不可逆转的趋势。无论是传统企业还是新兴科技公司,都在积极探索如何通过数字化手段提升效率、优化流程并增强竞争力。而项目管理工具作为数字化转型的核心助推器,正在帮助企业更好地规划、执行和监控项目,确保资源的高效利用和目标的......
  • js延迟加载的方式有哪些?
    在前端开发中,JavaScript(JS)的延迟加载是一种优化策略,用于提高页面加载速度和用户体验。以下是JS延迟加载的几种主要方式:使用defer属性:在<script>标签中添加defer属性,可以使脚本在文档解析完毕后执行。这种方式适用于希望按顺序加载多个脚本文件,并且不阻塞页面渲染的情况。......
  • O2O模式实战手册:利用板栗看板优化项目管理流程
    O2O(OnlineToOffline)模式,又称离线商务模式,是指线上营销线上购买或预订(预约)带动线下经营和线下消费。以下是对O2O模式的详细解析:一、模式概念O2O这个概念是2011年由AlexRampell提出来的,即将线下商务的机会与互联网结合在了一起,让互联网成为线下交易的前台。这样线下服务就可以......
  • 信息系统项目管理师2025年考试关键知识点梳理-第8章 项目整合管理-制定项目管理计划、
    1、制定项目管理计划制订项目管理计划是定义、准备和协调项目计划的所有组成部分,并把它们整合为一份综合项目管理计划的过程。本过程的主要作用:生成一份综合文件,用于确定所有项目工作的基础及其执行方式。项目管理计划确定项目的执行、监控和收尾方式,其内容会根据项目所在......
  • 如何解决Webview和H5缓存问题,确保每次加载最新版本的资源
    WebView用于加载H5页面是常见的做法,它能够加载远程的HTML、CSS、JavaScript资源,并且让Web应用嵌入到原生App中。然而,WebView的缓存机制有时会导致用户看到的是旧版本的页面或资源,尤其是在H5发版后,iOS端用户可能仍然加载到缓存的旧页面,造成了不一致的体验。本篇文......
  • 项目管理信息化项目交付为什么越来越难?-中小企实战运营和营销工作室博客
    项目管理信息化项目交付为什么越来越难?-中小企实战运营和营销工作室博客项目管理信息化项目交付越来越难主要有以下几方面原因:1,项目需求方面需求复杂多变:随着企业业务的不断拓展和精细化管理的要求,信息化项目需求日益复杂。例如,企业可能要求信息系统同时满足财务核算、......