Flink设置3的并行度,但只使用一个主机

时间:2017-04-17 15:19:05

标签: java multithreading parallel-processing apache-flink flink-streaming

我有一份工作,当我在没有设置并行性的情况下运行(默认情况下为parallelism = 1)时,每秒处理大约40个元素。它有一个asyncIO函数,它是最慢的部分。所以我想提高整体工作的并行性,以提高性能。我选择要从Flink集群的GUI运行的作业,并将并行度设置为3,它显示作业的每个部分具有3的并行度。

现在我遇到了问题。

作业的每个部分(每个映射函数和asyncIO函数)显示它拥有的3个任务槽,甚至在不同的从节点上的每个任务槽中都有它们:

enter image description here

但是当数据通过时它只使用一个任务槽。而不是性能提升它显着减少(猜测因为它现在维持并行任务槽之间的连接,但实际上没有使用它们来提高性能)。因此,要参考上面的屏幕截图,所有数据都通过flink-1运行,没有任何内容通过flink-2或flink-3。这就是每个flatmap和asyncIO函数的情况(所以不是flatmap-00上的数据通过flink-1运行数据,asyncIO-0使用flink-2,它们都使用flink-1)。

我有什么遗失的吗?感谢您提前提供任何帮助!

0 个答案:

没有答案