我有一个作业,当我运行时没有设置并行度(默认情况下并行度=1),每秒处理大约40个元素。它有一个asyncio函数,这是最慢的部分。所以我想增加作业整体的并行性以提高性能。我从flink集群的gui中选择要运行的作业,并将并行度设置为3,它显示作业的每个部分的并行度为3。
这就是我遇到的问题。
作业的每个部分(每个map函数和asyncio函数)显示了它拥有的3个任务槽,甚至在不同的从属节点上的每个槽上都有它们:
但当数据通过时,它只使用一个任务槽。它不但没有提高性能,反而显著降低了性能(猜测是因为它现在正在维护并行任务槽之间的连接,但实际上没有使用它们来提高性能)。所以参考上面的截图,所有的数据都通过flink-1,没有任何数据通过flink-2或flink-3。每个flatmap和asyncio函数都是这样的(所以flatmap-00不是通过flink-1运行数据,asyncio-0使用flink-2,而是都使用flink-1)。
有什么我不知道的吗?谢谢你的帮助!
暂无答案!
目前还没有任何答案,快来回答吧!