2016-10-27 9 views
1

Hazelcast 3.7から入手可能な新しいEviction Algorithmのドキュメントを読むと、そのセクションで言及されたパラメータが実際のマップエビクションポリシーパラメータにどのようにリンクしているかわかりません。立ち退きポリシー設定が(一部とりわけ)言及Hazelcast 3.7エビクションアルゴリズム

GlobalCapacity: User defined maximum cache size (cluster-wide). 
PartitionCount: Number of partitions in the cluster (defaults to 271). 
BalancedPartitionSize: Number of elements in a balanced partition state, BalancedPartitionSize := GlobalCapacity/PartitionCount. 
Deviation: An approximated standard deviation (tests proofed it to be pretty near), Deviation := sqrt(BalancedPartitionSize). 

に対し:

すなわち、アルゴリズムの説明を使用して行われるべき

<hazelcast> 
    <map name="default"> 
    ... 
    <time-to-live-seconds>0</time-to-live-seconds> 
    <max-idle-seconds>0</max-idle-seconds> 
    <eviction-policy>LRU</eviction-policy> 
    <max-size policy="PER_NODE">5000</max-size> 
    ... 
    </map> 
</hazelcast> 

一つの仮定はGlobalCapacityが何とかに連結されることですmax-sizeプロパティ??

これを明確にする助けが大歓迎です! :)

答えて

1

GlobalCapacity:ユーザー定義の最大キャッシュサイズ(クラスタ全体)。
PartitionCount:クラスタ内のパーティション数(デフォルトは271)。

平衡パーティション内の要素の数 state、BalancedPartitionSize:= GlobalCapacity/PartitionCount。
偏差:近似標準偏差(近くに であることが証明されたテスト)、偏差:= sqrt(BalancedPartitionSize)。

上記は、リファレンスマニュアルでアルゴリズムを説明するために使用される変数です。 API変数ではありません。

しかし、具体的には:はい、グローバル容量は同等で、map-config内のmax-size設定でユーザーが定義できます。

+1

ありがとう@javanes!わかりました'max-size'に対して' per_node'ポリシーを使用していますが、私がタイプのポリシーを使用している場合にはどのように適用されますか? ' 10'? 私はユースケースではさまざまな数のマップを持っていますので、これを正しく理解していればマップごとの合計jvmメトリックが好きです。 – gsaslis