问题描述
背景:我们正在评估可以替代 Redis 的 Hazelcast。
设置:
- 单个子网(生产盒)下集群中的 3 个成员。每个成员拥有约 1.4GB 的数据。
- 近缓存已关闭。
- 每个成员有 1 个备份。
- 通过准备 Spring Boot jar 和缓存部署的代码作为嵌入式实现。
- 虚拟机配置:8C,31GB 内存
- 代码使用 IMAP 检索密钥并将其放入缓存中。
LoadTest:尝试以 18K/s 的其余 API 调用读取数据。 但是hazelcast 显示平均get 延迟大约为3-4 毫秒,我觉得应该以微秒为单位,因为我们已经在redis 设置中看到了很多get 命令延迟。 在此测试期间,CPU 负载约为 95%。
提供此延迟的成员的堆使用率约为 60%(承诺:7.85GB,已使用:4.68GB)。尽管集群中的所有成员都是如此。
需要帮助了解我的配置有问题,因此我无法在微秒内实现延迟?
用于启动嵌入式缓存的配置:
config.addMapConfig(mapConfig());
NetworkConfig networkConfig = config.getNetworkConfig();
JoinConfig join = networkConfig.getJoin();
join.getMulticastConfig().setEnabled(false);
join.getTcpIpConfig().setEnabled(true).setMembers(
Arrays.asList(
"ip1:5701","ip2:5701","ip3:5701"
)
);
return config;```
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)