2016-10-27 6 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).

평형 파티션의 크기 : 상태, BalancedPartitionSize : = GlobalCapacity/PartitionCount.
편차 : 근사 표준 편차 ( 에 가까움을 증명 한 테스트), 편차 : = sqrt (BalancedPartitionSize).

위의 내용은 참조 설명서의 알고리즘을 설명하기 위해 사용 된 변수입니다. API 변수가 아닙니다.

그러나 구체적으로 질문 : 예, 글로벌 용량은 map-config 내에 max-size config로 사용자가 정의한 것과 동일합니다.

+1

감사합니다. @javanes! 좋아요. 그렇다면 내가 예를 들어 'max-size'에'per_node' 정책을 사용합니다. 그러나 제가 type의 정책을 사용하고있는 경우 어떻게 적용할까요? ' 10'? 제 경우에는 다양한 수의 맵이 있으므로이 점을 올바르게 이해하고 있다면 맵당 하나 이상의 전체 jvm 메트릭을 선호합니다. – gsaslis