Roy*_*ijn 7 java java-io hazelcast appdynamics
由于Hazelcast 2.5中已知(固定)的错误,我们已经确定这将是我们项目的下一个升级候选者.但是在放入最新版本(3.2.2)后,我们的表现非常糟糕.
我们使用Hazelcast的方式:
使用Hazelcast 2.5 map.values(),我们提供了一个包含所有包含密钥的列表,而不是使用它们map.getAll(containedKeys).我们通过EntryListener在映射中添加一个来跟踪containsKeys的方式,该映射将containsKeys存储在并发集中.这是由一位同事添加的,感觉就像一个黑客,但工作就像一个魅力.
现在,当我们升级到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)
Run Code Online (Sandbox Code Playgroud)
这是我们在Hazelcast 2.5中没有看到的,但在3.2.2中有.它使我们的应用程序彻底停顿.再次用2.5替换jar(并将Entry重命名为MapEntry)并没有错.
可能是什么导致了这个?也许它不再使用近缓存了?
你看过这个谷歌团体票问题吗?
https://groups.google.com/forum/#!topic/hazelcast/ivk6hzk2YwA
这里特别看看问题的原因。
https://github.com/hazelcast/hazelcast/issues/553