目录
- 🐬官方配置文件说明
- 🐬测试并发量
- 🐠线程数量设置100
- 🐠线程数量设置200
- 🐠线程数量设置500
- 🐬测试结论
🐬官方配置文件说明
官方说明
- master.exec.threads: master工作线程数量,用于限制并行的流程实例数量
- master.exec.task.num: master每个流程实例的并行任务数量(代码中未搜到,即未实现)
- master.dispatch.task.num : master每个批次的派发任务数量(貌似任务优先级这一块会用到,没细看,3.0版本增加了任务组,反正也都是坑)
- worker.exec.threads: worker工作线程数量,用于限制并行的任务实例数量
🐬测试并发量
- 单机测试,配置如下
[dolphinscheduler@bigdata02 ~]$ free -h total used free shared buff/cache available Mem: 503G 90G 199G 4.1G 213G 406G Swap: 0B 0B 0B
- 测试工作流的包含20个shell节点(节点内容都是
sleep 10
,无依赖关系) - 测试方法:每次批量insert指令表(100、500、1000条数据),修改线程数量,观察CPU及工作流完成情况
🐠线程数量设置100
- 工作流并发量
100
,任务节点并发量20*100
- 工作流并发量
500
,任务节点并发量20*500
- 工作流并发量
1000
,任务节点并发量20*1000
🐠线程数量设置200
- 工作流并发量
100
,任务节点并发量20*100
- 工作流并发量
500
,任务节点并发量20*500
- 工作流并发量
1000
,任务节点并发量20*1000
🐠线程数量设置500
- 工作流并发量
100
,任务节点并发量20*100
- 工作流并发量
500
,任务节点并发量20*500
此时任务出现阻塞失败情况
🐬测试结论
调度配置默认的值,是安全的,但是当系统环境配置比较高的时候,无法充分利用资源,突然找到了此次测试的意义:找到合适的参数大小,充分理由资源配置,同时保障工作流稳定运行(测试数据就是简单的shell任务,因此对内存几乎没影响)