我下载了 Gridgain 6.5.5 的开源版本,并且正在我的 Windows 桌面上尝试与该版本捆绑的示例。
场景如下:
我使用 4500 个字符串和 VM 参数 -Xmx1g -Xms512m
运行示例 org.gridgain.examples.compute.ComputeCallableExample,计算时间为 262 毫秒。
我使用以下命令ggstart.bat %GRIDGAIN_HOME%\examples\config\example-compute.xml
启动网格节点,然后运行ComputeCallableExample,它的计算时间为1039毫秒。
当我预先启动 2 个节点然后运行示例时,甚至需要更多时间1196 毫秒
我的问题如下:
- 这是预期的行为吗?随着更多的节点可供处理,计算是否应该花费更少的时间?
- 我是否在任何配置中遗漏了某些内容?我提到的例子可以在这里找到
- 如何改善这种行为?
- 运行至少 2 个节点的 gridgain 应用程序的最低系统要求是什么?
最佳答案
有几个因素可能会影响结果:
- 此示例将字符串拆分为单词并将单词分布在节点之间。您的字符串是否包含多个大小大致相等的单词?
- 两个节点肯定会比一个节点慢,因为您要添加一个网络行程。一般来说,如果您能够在本地执行某些操作,它总是会更快。您可以添加更多节点,以确保在发生崩溃或计算量超出一个节点处理能力时作业能够进行故障转移。
- 仅对一次执行进行计时并不是一个好的基准,因为 JVM 需要一些预热时间。您可以将执行放入一个循环中并执行几分钟吗?我相信性能数字将会提高。
关于java - Gridgain 6.5.5 OpenSource - 多个节点速度较慢..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28108726/