【问题标题】:how to test hazelcast Eviction in 3.9.3 Eviction not working如何在 3.9.3 Eviction 中测试 hazelcast Eviction 不起作用
【发布时间】:2018-08-05 09:36:48
【问题描述】:

我正在使用 hazelcast 3.9.3 版本。 Hazelcast 客户端和服务器作为带有单节点服务器和单节点客户端的 springboot 应用程序。

配置:

MapConfig h = new MapConfig();       
h.setEvictionPolicy(EvictionPolicy.LFU);
h.setTimeToLiveSeconds(Integer.parseInt("60"));
h.setMaxIdleSeconds(Integer.parseInt("60"));  
h.setMaxSizeConfig(new MaxSizeConfig(Integer.parseInt(9000), MaxSizeConfig.MaxSizePolicy.PER_NODE));
config.getMapConfigs().put("hsr",hsrMap);
  1. 根据文档,默认分区为 271。每个分区中可以容纳多少项目。
  2. 如何从 271 减少和测试分区数。
  3. 如何使用上述示例检查缓存回收工作? Map 保存的值超过 9000 个条目,未触发驱逐。

有什么建议吗?

【问题讨论】:

    标签: hazelcast hazelcast-imap


    【解决方案1】:
    1. 如果地图中的实例数为 N,则每个分区的实例数为 N/271。

    2. 您可以将其作为 java arg 传入或以编程方式设置如下:

      配置配置 = 新配置();
      //是的,这是虚拟机级别 ...
      config.setProperty("hazelcast.map.partition.count", "271");

    3. 根据您对名为“hsr”的地图的配置,timeToLiveSeconds 设置为 60,maxIdleSeconds 设置为 60。驱逐将每分钟启动一次,并且那些闲置超过 60 秒的实例有资格被驱逐。请记住,evictionPercentage 默认为 25,因此,每次执行驱逐时,只有约 25% 的节点将被驱逐,直到地图大小为 0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 2020-03-01
      • 1970-01-01
      • 2017-01-19
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      相关资源
      最近更新 更多