暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

海豚调度 2025-01-15
279

点击蓝字,关注我们

转载自可口可乐不甜

01

问题复现


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

02

解决思路


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

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

结果:还是加载不出来
  1. 尝试请求超时连接发现请求能出数据,但是要十多秒
  2. 尝试查看源码,可能是慢查询
    代码位置
  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

进入queryProjectListPaging
方法
尝试运行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。

  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);

添加后验证,确实是快了。页面也恢复正常了。
原文链接:https://blog.csdn.net/weixin_41673092/article/details/144510764

<🐬🐬 >

推荐阅读

用户实践案例
奇富科技  腾讯音乐 联通数科 拈花云科
蔚来汽车 长城汽车 集度 长安汽车
思科网讯 食行生鲜 联通医疗 联想
新网银行 唯品富邦消费金融  蜀海供应链 
自如 有赞 伊利 当贝大数据
珍岛集团 传智教育 Bigo
YY直播  作业帮 太美医疗
某新能源 中电信翼康
迁移实践
Azkaban   Ooize(当贝迁移案例)   
Airflow (有赞迁移案例) 
Air2phin(迁移工具)
Airflow迁移实践

新手入门
选择Apache DolphinScheduler的10个理由
Apache DolphinScheduler 3.1.8 保姆级教程【安装、介绍、项目运用、邮箱预警设置】轻松拿捏!
Apache DolphinScheduler 如何实现自动化打包+单机/集群部署?
DolphinScheduler快速上手:基于Docker Compose的安装与配置全攻略
Apache DolphinScheduler 在大数据环境中的应用与调优
Apache DolphinScheduler-3.2.0集群部署教程

< 🐬🐬 >
参与社区

参与Apache DolphinScheduler 社区有非常多的参与贡献的方式,包括:


贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689

非新手问题列表:https://github.com/apache/dolphinscheduler/issues?
q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22

如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html

来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的!


球分享

球点赞

球在看

文章转载自海豚调度,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论