2017-09-27 85 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

非常感謝你 –