Ignite 关于点火计算应用方法

Ignite 关于点火计算应用方法,ignite,in-memory-database,gridgain,Ignite,In Memory Database,Gridgain,我有3个节点的集群,我在这里使用ignite计算进行并行操作,我使用Apply方法。当使用3个节点集群执行我的作业时,需要15-20秒,当我使用单个节点运行我的作业时,需要3-5秒,这就是为什么会发生。根据文档,当我使用更多节点时,需要的时间更少,但在我的情况下,这是完全相反的,所以请您帮助我并非所有情况下,节点数量的增加都会带来性能的提高。你如何看待它会带来相反的效果。如果您的任务/作业是轻量级的,那么在其他节点上发送它们会增加开销,这对于此类任务非常重要。为了执行远程任务/作业,Apache

我有3个节点的集群,我在这里使用ignite计算进行并行操作,我使用Apply方法。当使用3个节点集群执行我的作业时,需要15-20秒,当我使用单个节点运行我的作业时,需要3-5秒,这就是为什么会发生。根据文档,当我使用更多节点时,需要的时间更少,但在我的情况下,这是完全相反的,所以请您帮助我

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

当您从lambda中的外部类访问对象时,这些对象也将被序列化,这种行为会带来开销。正如我从代码中看到的,您实际上不需要访问lambda之外的任何对象,您可以将所有对象移动到lambda中

此外,创建一个静态的内部类比创建lambda更好

此外,我建议在进行任何测量之前预热JVM并点燃,并运行多个迭代

在某些情况下,您可以使用@ComputeTaskNoResultCache注释,如果它适合您的情况,它可以提供巨大的改进


我还建议阅读,它包含一些关于提高计算网格性能的建议:

你能添加Repeader吗?Hello@EvgeniiZhuravlev,你能解释一下如何添加它以及它的用途吗?你可以将它添加到github或dropbox/googledrive,并与我们共享链接。我可以检查你的代码并给出一些建议Shello@EvgeniiZhuravlev请检查我的代码