7

Hazelcast 2.5 の既知の (修正された) バグのため、これがプロジェクトの次のアップグレード候補になると判断しました。しかし、最新バージョン (3.2.2) を導入した後、パフォーマンスが大幅に低下しました。

Hazelcast の使用方法:

  • 2 つのノード
  • 複数の IMap インスタンス (合計で約 7 つのマップ)
  • 両方のノードがマップを更新します
  • 地図でたくさん読む
  • 読み取りを高速化するために有効化されたニアキャッシュ

Hazelcast 2.5 を使用するとmap.values()、 を使用する代わりに、含まれているすべてのキーのリストを提供したときに、優れたパフォーマンスが得られmap.getAll(containedKeys)ました。EntryListener並行セットに含まれるキーを格納するマップに を追加することによって、containedKeys を追跡する方法。これは同僚によって追加されたもので、ハックのように感じますが、魅力のように機能します。

ここで、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 に戻します)、何も問題はありません。

何が原因でしょうか? ニアキャッシュをもう使用していないのでしょうか?

4

1 に答える 1

0

この Google グループ チケットの問題を確認しましたか?

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

ここでは、特に問題の理由を見ていきます。

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

于 2015-03-09T07:38:07.090 に答える