2017-09-27 58 views
1

我有3个节点的集群,我使用点燃这里的并行操作我用的应用method.when它需要15-20sec和三个节点的集群执行我的工作计算,当我跑我的工作跟单它节点需要3-5秒,所以每次文档为什么它happens.As当我使用它需要更少的时间,但在我而言,这是完全相反更多的节点,所以请你能帮助我关于点燃计算应用方法

+4

你可以添加再生? –

+0

你好@EvgeniiZhuravlev,你能解释一下如何添加它,它的目的是 –

+2

你可以将它添加到github或dropbox/googledrive并与我们分享链接。 我可以检查你的代码,并给出一些建议 –

回答

2

不是所有情况下,增加的数量节点带来性能改进。你怎么看它会带来反效果。如果你的任务/作业是轻量级的,那么在其他节点上发送它们可能会增加开销,这对于这类任务可能很重要。为了执行远程任务/作业Apache Ignite将它们序列化,通过TCP/IP在远程节点上传输。在远程节点上,这些作业被反序列化,执行并以同样的方式给出响应(序列化,TCP/IP等)。

1

在当你从外部类访问拉姆达对象的情况下,这些对象也将被序列化,而这种行为给人的开销。我可以从代码中看到,你并不真的需要访问的任何对象了拉姆达的,你可以将所有对象到拉姆达。

此外,这将是更好地创建一个静态内部类,而不是拉姆达。

此外,我建议在任何测量之前预热JVM和Ignite并运行多次迭代。

在某些情况下,你可以使用@ComputeTaskNoResultCache注释,如果它符合你的情况下,它可以给一个巨大的进步。

我也建议阅读this thread on Apache Ignite user list,它包含的计算网格性能改进了几个建议:

+0

非常感谢你 –