多谢大佬,见表语句放在附件里面了,辛苦大佬帮忙看看了

-----邮件原件-----
发件人: 西去的铃铛 <[email protected]> 
发送时间: 2022年10月21日 11:39
收件人: dev <[email protected]>
主题: 回复:答复: 回复:答复: 回复:dolphinscheduler工作流实例和任务实例页面加载缓慢问题

任务实例历史的其实没啥用可以删掉,索引的话你把表结构发我下,我帮你看,这个很简单的。




------------------&nbsp;原始邮件&nbsp;------------------
发件人:                                                                            
                                            "dev"                               
                                                     <[email protected]&gt;;
发送时间:&nbsp;2022年10月21日(星期五) 中午11:08
收件人:&nbsp;"[email protected]"<[email protected]&gt;;

主题:&nbsp;答复: 回复:答复: 回复:dolphinscheduler工作流实例和任务实例页面加载缓慢问题



昨天尝试了集中索引的建立方式都没有加快速度,大佬帮忙看看需要怎么建立索引,sql如下:
select instance.*,process.name as process_instance_name 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from t_ds_task_instance instance 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join t_ds_process_definition define 
ON instance.process_definition_id = define.id 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join&nbsp; t_ds_process_instance 
process on process.id=instance.process_instance_id
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where define.project_id = 
#{projectId} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; order by 
instance.start_time desc

目前我们200w的任务实例中,工作流定义的个数是1392个

-----邮件原件-----
发件人: 西去的铃铛 <[email protected]&gt;
发送时间: 2022年10月21日 11:04
收件人: dev <[email protected]&gt;
主题: 回复:答复: 回复:dolphinscheduler工作流实例和任务实例页面加载缓慢问题

才200多万,看来问题不大,直接建一下索引,数据库加载慢的问题就解决了,话说你们现在200w任务实例,大概有多少个工作流?


------------------&amp;nbsp;原始邮件&amp;nbsp;------------------
发件人:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
"dev"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 <[email protected]&amp;gt;;
发送时间:&amp;nbsp;2022年10月21日(星期五) 上午10:59
收件人:&amp;nbsp;"[email protected]"<[email protected]&amp;gt;;

主题:&amp;nbsp;答复: 回复:dolphinscheduler工作流实例和任务实例页面加载缓慢问题



我用的mysql,是数据库的问题,task_instance的表数据量超过200w了,3.0版本在这部分有优化吗?

-----邮件原件-----
发件人: 西去的铃铛 <[email protected]&amp;gt;
发送时间: 2022年10月21日 10:57
收件人: dev <[email protected]&amp;gt;
主题: 回复:dolphinscheduler工作流实例和任务实例页面加载缓慢问题

因为我用的3.0版本,所以不太清楚1.3.3的原理
这个页面加载慢应该是读库比较慢吧,你们用的pg还是mysql?




------------------&amp;amp;nbsp;原始邮件&amp;amp;nbsp;------------------
发件人:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 
"dev"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 <[email protected]&amp;amp;gt;;
发送时间:&amp;amp;nbsp;2022年10月21日(星期五) 上午10:53
收件人:&amp;amp;nbsp;"[email protected]"<[email protected]&amp;amp;gt;;

主题:&amp;amp;nbsp;dolphinscheduler工作流实例和任务实例页面加载缓慢问题



Hello,我使用ds1.3.3的版本,工作流实例和任务实例页面加载非常的缓慢,经常要5s+甚至10+以上,请问下有什么可以优化的办法吗?

Process_instance表数据量大概在100w
Task_instance表数据量大概在250w
Process_definition表数据大概在2000条

[cid:[email protected]]

甘博瑞 Gan.Bo Rui
数据开发工程师,信息技术部

景顺长城基金管理有限公司
-----------------------------------------------------------------------
保密条款:本邮件及其附件中可能包含景顺长城基金管理有限公司的机密或特许
信息,这些信息只提供给上述地址指定的人员或机构使用。禁止除收件人以外的
任何人或机构阅览,转发本信息或据此信息采取其他的任何行动。如果您错误地
接收到此邮件,请与发件人联系并在您的电脑中删除这些信息。
-----------------------------------------------------------------------
保密条款:本邮件及其附件中可能包含景顺长城基金管理有限公司的机密或特许
信息,这些信息只提供给上述地址指定的人员或机构使用。禁止除收件人以外的
任何人或机构阅览,转发本信息或据此信息采取其他的任何行动。如果您错误地
接收到此邮件,请与发件人联系并在您的电脑中删除这些信息。
-----------------------------------------------------------------------
保密条款:本邮件及其附件中可能包含景顺长城基金管理有限公司的机密或特许
信息,这些信息只提供给上述地址指定的人员或机构使用。禁止除收件人以外的
任何人或机构阅览,转发本信息或据此信息采取其他的任何行动。如果您错误地
接收到此邮件,请与发件人联系并在您的电脑中删除这些信息。
-----------------------------------------------------------------------
保密条款:本邮件及其附件中可能包含景顺长城基金管理有限公司的机密或特许
信息,这些信息只提供给上述地址指定的人员或机构使用。禁止除收件人以外的
任何人或机构阅览,转发本信息或据此信息采取其他的任何行动。如果您错误地
接收到此邮件,请与发件人联系并在您的电脑中删除这些信息。
-- ----------------------------
-- Table structure for t_ds_process_definition
-- ----------------------------
DROP TABLE IF EXISTS `t_ds_process_definition`;
CREATE TABLE `t_ds_process_definition` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key',
  `name` varchar(255) DEFAULT NULL COMMENT 'process definition name',
  `version` int(11) DEFAULT NULL COMMENT 'process definition version',
  `release_state` tinyint(4) DEFAULT NULL COMMENT 'process definition release 
state:0:offline,1:online',
  `project_id` int(11) DEFAULT NULL COMMENT 'project id',
  `user_id` int(11) DEFAULT NULL COMMENT 'process definition creator id',
  `process_definition_json` longtext COMMENT 'process definition json content',
  `description` text,
  `global_params` text COMMENT 'global parameters',
  `flag` tinyint(4) DEFAULT NULL COMMENT '0 not available, 1 available',
  `locations` text COMMENT 'Node location information',
  `connects` text COMMENT 'Node connection information',
  `receivers` text COMMENT 'receivers',
  `receivers_cc` text COMMENT 'cc',
  `create_time` datetime DEFAULT NULL COMMENT 'create time',
  `timeout` int(11) DEFAULT '0' COMMENT 'time out',
  `tenant_id` int(11) NOT NULL DEFAULT '-1' COMMENT 'tenant id',
  `update_time` datetime DEFAULT NULL COMMENT 'update time',
  `modify_by` varchar(255) DEFAULT NULL,
  `resource_ids` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `process_definition_unique` (`name`,`project_id`),
  KEY `process_definition_index` (`project_id`,`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for t_ds_task_instance
-- ----------------------------
DROP TABLE IF EXISTS `t_ds_task_instance`;
CREATE TABLE `t_ds_task_instance` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key',
  `name` varchar(255) DEFAULT NULL COMMENT 'task name',
  `task_type` varchar(64) DEFAULT NULL COMMENT 'task type',
  `process_definition_id` int(11) DEFAULT NULL COMMENT 'process definition id',
  `process_instance_id` int(11) DEFAULT NULL COMMENT 'process instance id',
  `task_json` longtext COMMENT 'task content json',
  `state` tinyint(4) DEFAULT NULL COMMENT 'Status: 0 commit succeeded, 1 
running, 2 prepare to pause, 3 pause, 4 prepare to stop, 5 stop, 6 fail, 7 
succeed, 8 need fault tolerance, 9 kill, 10 wait for thread, 11 wait for 
dependency to complete',
  `submit_time` datetime DEFAULT NULL COMMENT 'task submit time',
  `start_time` datetime DEFAULT NULL COMMENT 'task start time',
  `end_time` datetime DEFAULT NULL COMMENT 'task end time',
  `host` varchar(45) DEFAULT NULL COMMENT 'host of task running on',
  `execute_path` varchar(200) DEFAULT NULL COMMENT 'task execute path in the 
host',
  `log_path` varchar(200) DEFAULT NULL COMMENT 'task log path',
  `alert_flag` tinyint(4) DEFAULT NULL COMMENT 'whether alert',
  `retry_times` int(4) DEFAULT '0' COMMENT 'task retry times',
  `pid` int(4) DEFAULT NULL COMMENT 'pid of task',
  `app_link` varchar(255) DEFAULT NULL COMMENT 'yarn app id',
  `flag` tinyint(4) DEFAULT '1' COMMENT '0 not available, 1 available',
  `retry_interval` int(4) DEFAULT NULL COMMENT 'retry interval when task failed 
',
  `max_retry_times` int(2) DEFAULT NULL COMMENT 'max retry times',
  `task_instance_priority` int(11) DEFAULT NULL COMMENT 'task instance 
priority:0 Highest,1 High,2 Medium,3 Low,4 Lowest',
  `worker_group` varchar(64) DEFAULT NULL COMMENT 'worker group id',
  `executor_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `process_instance_id` (`process_instance_id`) USING BTREE,
  KEY `task_instance_index` (`process_definition_id`,`process_instance_id`) 
USING BTREE,
  CONSTRAINT `foreign_key_instance_id` FOREIGN KEY (`process_instance_id`) 
REFERENCES `t_ds_process_instance` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


-- ----------------------------
-- Table structure for t_ds_project
-- ----------------------------
DROP TABLE IF EXISTS `t_ds_project`;
CREATE TABLE `t_ds_project` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key',
  `name` varchar(100) DEFAULT NULL COMMENT 'project name',
  `description` varchar(200) DEFAULT NULL,
  `user_id` int(11) DEFAULT NULL COMMENT 'creator id',
  `flag` tinyint(4) DEFAULT '1' COMMENT '0 not available, 1 available',
  `create_time` datetime DEFAULT NULL COMMENT 'create time',
  `update_time` datetime DEFAULT NULL COMMENT 'update time',
  PRIMARY KEY (`id`),
  KEY `user_id_index` (`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


查询的sql语句:
select instance.*,process.name as process_instance_name         
from t_ds_task_instance instance         
join t_ds_process_definition define ON instance.process_definition_id = 
define.id         
join  t_ds_process_instance process on process.id=instance.process_instance_id
where define.project_id = #{projectId}         
order by instance.start_time desc

Reply via email to