随着工作节点数量的增加,Spark性能下降

时间:2018-07-03 06:58:38

标签: performance apache-spark

我有一个spark应用程序,可以从csv文件中加载数据,调用Drools引擎,使用平面图并将结果保存到输出文件(.csv)

下面是两个测试用例:

1)当我在具有相同配置(8个内核)的 2个Worker节点上运行此应用程序时,应用程序需要 5.2分钟来完成:

  • 否。执行者人数:133

  • 内核总数:16

  • 已用内存:2GB(每个执行者1GB)

  • 可用内存:30GB

2)当我在具有相同配置(8个内核)的 3个Worker节点上运行此应用程序时,该应用程序需要 7.6分钟来完成:

  • 不。执行者人数:266
  • 核心总数:24
  • 已用内存:3GB(每个执行者1GB)
  • 可用内存:45GB

预期结果

在添加一个具有相同配置的工作节点之后,应该花费更少的时间。

实际结果

在添加一个具有相同配置的工作节点之后,将花费更多时间。

我正在使用spark-submit命令以独立模式运行应用程序。

我想了解为什么增加工作节点并不能提高性能,这不是正确的期望吗?

编辑

查看了关于stackoverflow的其他类似问题之后,我尝试使用spark.dynamicAllocation.enabled=true运行应用程序,但是它进一步降低了性能。

0 个答案:

没有答案