gpt4 book ai didi

java - Hazelcast NearCache 对性能没有预期的影响

转载 作者:行者123 更新时间:2023-11-30 11:02:10 30 4
gpt4 key购买 nike

我们有一个应用程序在 1 个或 2 个节点上运行,具体取决于环境,具有基于 Hazelcast 的共享缓存。

应用程序上的一个请求触发了大约 1000 个对此缓存的请求(所有缓存命中)。

在单节点配置中,这工作得很好。具体来说,每个请求花费的时间少于 10 毫秒。

但是如果我们使用2个节点,每个缓存请求大约需要20-200ms。我们认为这是由于 Hazelcast 从远程节点获取数据,这当然涉及网络流量。因此我们将其配置为使用 NearCache,据我们了解,这应该会产生与单个本地缓存大致相同的访问速度。但它并没有,它似乎对性能根本没有影响。

所以现在我想知道:

  • 如何检查 NearCache 配置是否真正起作用?
  • 我如何才能获得接近本地缓存的读取性能,但更新(异步)传送到/所有远程缓存,我认为我可以通过配置 NearCache 来实现?

我们使用以下配置初始化我们的缓存:

HazelcastConfiguration.getOrCreateCache(
cacheName,
new CacheConfig<K, CR>()
.setNearCacheConfig(new NearCacheConfig())
.setExpiryPolicyFactory(
HazelcastConfiguration.createExpiryPolicyFactory(expiryAfterModification)),
cacheManager
);

最佳答案

这取决于很多事情,但 20/200 毫秒很多。当我们在 1 个标准 1 GbE 网络上运行 4 节点集群基准测试(4 个双插槽至强机器)时,99 个百分点远低于 1 毫秒。我们在这里讨论没有 nearcache。

近缓存应该提供非常好的性能,因为如果数据在本地缓存,那么调用是本地的+跳过操作执行的整个内部基础结构(至少对于 IMap 和近缓存;不完全确定缓存.

你能尝试敲击同一组键吗?只是为了确保您正在访问附近的缓存。

您使用什么作为键和值?它们很大还是序列化不友好?

我你仍然遇到问题;快速尝试 IMap 并启用近缓存并检查您是否看到很大的差异。

关于java - Hazelcast NearCache 对性能没有预期的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30890393/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com