gpt4 book ai didi

java - 性能下降从 Hazelcast 2.5 升级到 3+

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:37:34 25 4
gpt4 key购买 nike

由于 Hazelcast 2.5 中的一个已知(已修复)错误,我们决定将其作为我们项目的下一个升级候选。但在加入最新版本 (3.2.2) 后,我们的性能很糟糕。

我们使用 Hazelcast 的方式:

  • 两个节点
  • 多个 IMap 实例(总共约 7 个 map )
  • 两个节点更新 map
  • 大量阅读 map
  • 启用近缓存以加快读取速度

使用 Hazelcast 2.5 我们获得了出色的性能,而不是使用 map.values(),我们提供了所有包含的键的列表 map.getAll(containedKeys)。我们通过将 EntryListener 添加到将 containedKeys 存储在并发集中的映射来跟踪 containedKeys 的方式。这是由一位同事添加的,感觉像是 hack,但效果很好。

现在,当我们升级到 Hazelcast 3.2.2 时,我们会立即看到 java.io 的问题,例如,查看 AppDynamics 中的以下代码片段:

com.hazelcast.map.proxy.MapProxyImpl:getAll:326 (method time = 0 ms, total time = 18938 ms)
com.hazelcast.map.proxy.MapProxySupport:getAllObjectInternal:495 (method time = 0 ms, total time = 18938 ms)
com.hazelcast.map.MapService:toObject:852 (method time = 0 ms, total time = 18938 ms)
com.hazelcast.spi.impl.NodeEngineImpl:toObject:156 (method time = 0 ms, total time = 18938 ms)
com.hazelcast.nio.serialization.SerializationServiceImpl:toObject:221 (method time = 0 ms, total time = 18938 ms)
com.hazelcast.nio.serialization.StreamSerializerAdapter:read:59 (method time = 0 ms, total time = 18938 ms)
com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer:read:185 (method time = 0 ms, total time = 18938 ms)
java.io.ObjectInputStream:readObject:370 (method time = 3398 ms, total time = 18938 ms)
java.io.ObjectInputStream:readObject:370 (method time = 15540 ms, total time = 15540 ms)

这是我们在 Hazelcast 2.5 中没有看到的东西,但在 3.2.2 中确实有。它使我们的应用程序完全停止运行。再次将 jar 替换为 2.5(并将 Entry 重命名回 MapEntry),没有任何问题。

这可能是什么原因造成的?也许它不再使用近缓存?

最佳答案

您是否查看过这个 google group ticket issue?

https://groups.google.com/forum/#!topic/hazelcast/ivk6hzk2YwA

这里特别列出了问题的原因。

https://github.com/hazelcast/hazelcast/issues/553

关于java - 性能下降从 Hazelcast 2.5 升级到 3+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24261110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com