2017-05-29 12 views
1

マップには3つのオブジェクトが格納されています。それらは変更されないため、ノードでローカルにキャッシュするのが理にかなっています。そして、それは私が平均レイテンシが巨大であることに気づく前にやっていたと思ったことです。そのhazelcastコンソールを参照してください:これは私の不思議を作るキャッシュに近いヘッセルキャスト - 巨大な待ち時間

Hazelcast console view

どこから手に入れました。それは私が最初に起こったと思う90と48のミスですか?計算は並行して実行されるので、エントリーがキャッシュされる前に取得するためにすべてのレギュラーを発行することができるので、この時点ではすべてのキャッシュがニア・キャッシュから利益を得られないことがわかった。その後、いくつかのプリロードメソッドは私はすべてのこれらの並列タスクをトリガする前にそれを実行するだろうか? Btw。なぜそのキャッシュデータテーブルの近くにエントリがあっても、エントリメモリは0ですか?ここで

は私のマップの設定です:

<map name="commons"> 

     <in-memory-format>BINARY</in-memory-format> 

     <backup-count>0</backup-count> 
     <async-backup-count>0</async-backup-count> 
     <eviction-policy>NONE</eviction-policy> 

     <near-cache> 

      <in-memory-format>OBJECT</in-memory-format> 
      <max-size>0</max-size> 
      <time-to-live-seconds>0</time-to-live-seconds> 
      <max-idle-seconds>0</max-idle-seconds> 
      <eviction-policy>NONE</eviction-policy> 
      <invalidate-on-change>true</invalidate-on-change> 
      <cache-local-entries>true</cache-local-entries> 
     </near-cache> 
    </map> 

実際の問題は、非常に多くのミスが近いキャッシュ内に存在している理由であり、その巨大な平均のget待ち時間はから来てどこにありますか?

+0

私は実際に私は質問を持っているが、メモリの消費量を計算することができないことを意味する "メモリ内オブジェクト::オブジェクト"を使用するため、エントリメモリは0です。あなたは実際の質問を言い換えることができますか? – noctarius

+0

クライアントを使用していますか、またはこの2台のサーバだけを使用していますか?後者の場合、 'backup-count'を1に設定し、' read-from-backup'をtrueに設定してみましたか? –

+0

私は複数のサーバーと単一のクライアントアプリケーションを使用しています。クライアントアプリケーションは、これらの値を複数回フェッチしません(設定するために)。私は本当にバックアップカウントを使用することはできません。ノード数が変わる可能性があり、この値を6以上に設定することはできません。 – kboom

答えて

2

管理センターが表示する待ち時間は、要求がサーバーにヒットした後の遅延です。ニア・キャッシュがあり、ニア・キャッシュをヒットした場合、それはMan.Centerに表示されません。私はあなたがあなたのアプリケーションからの高いレイテンシを観察してはならないと思う。 34のイベントがあることがわかります。私はこのエントリーが更新されたと仮定します。エントリが更新されると、そのエントリはニア・キャッシュから削除されます。それ以降の読み取りはサーバーにヒットします。

+0

2つのエントリは最初から更新されませんが、1つは実行中に追加されます。あなたがまだ言ったことは意味をなさないが、なぜそんなに多くのミスがあるのだろうか? – kboom

+0

遠くから言うのは本当に難しいです。 –

関連する問題