如何解决对于 18k/s 吞吐量,Hazelcast 平均获取延迟 > 2 毫秒
背景:我们正在评估可以替代 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 举报,一经查实,本站将立刻删除。