【问题标题】:Hazelcast MapStore configure read chunk sizeHazelcast MapStore 配置读取块大小
【发布时间】:2015-12-07 18:18:43
【问题描述】:

我在 Hazelcast 节点中使用我自己的 MapStore 实现。 Store 正在访问 MSSQL 数据库以进行加载。 尽管我为 JVM 分配了不合理的大量内存,但在加载整个 keySet 后,它似乎一次处理的键数平均不超过 6 个。这样,初始加载过程的速度慢得令人无法接受。

我现在使用的一种解决方法是,我已将 MapStore 设置为急切且不懒惰地加载,这样,数据应该在需要时已经可用。我希望存储是懒惰的,只在需要时才访问数据,但是凭借这种性能,它需要 分钟 才能准备好。

有人知道如何为 Hazelcast MapStore 配置读取块大小吗?我会说 2K 密钥对系统来说应该没有问题。

[cached13] DEBUG MyMapStoreImpl l:72 - LoadAllKeys loaded: 2427 keys
[cached4] DEBUG MyMapStoreImpl l:62 - loadAll() since begun: 1504 ms Curr.Keys: 6
[cached17] DEBUG MyMapStoreImpl l:62 - loadAll() Since begun: 1862 ms Curr.Keys: 5
[cached6] DEBUG MyMapStoreImpl l:62 - loadAll() since begun: 2436 ms Curr.Keys: 8

【问题讨论】:

    标签: java performance store hazelcast


    【解决方案1】:

    loadAll 为每个分区调用。由于 Hazelcast 默认有 271 个分区,因此每个分区大约有 9 个键。所以我认为这部分没有问题。在每次迭代中都有这么多键是预期的行为。您可以观察到,如果您有更多数据,则每次调用的密钥大小会更大。 我建议您检查您的 MSSQL 查询性能,恕我直言,您的查询性能可能是瓶颈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多