Infinispan从14.0.1升级至14.0.20后分布式缓存性能下降求助
Infinispan 14.0.16+分布式ASYNC缓存读取性能下降问题解决方案建议
问题核心
升级Infinispan从14.0.1到14.0.20后,三节点MPING集群下分布式ASYNC缓存读取耗时从0.4ms飙升至1ms,写入性能提升至0.2ms;单节点运行时读写性能均正常(0.2ms),性能退化始于14.0.16版本。
解决方案建议
- 核对14.0.16版本变更日志,重点聚焦分布式缓存读取路径、JGroups集群通信逻辑的改动。该版本可能默认强化了读取一致性校验,或调整了跨节点请求的处理流程,导致额外集群通信开销。
- 调整分布式缓存读取模式配置:若业务允许最终一致性,可将读取模式从
DEFAULT改为LOCAL,或调小remote-timeout参数降低跨节点等待成本。示例配置:<distributed-cache mode="ASYNC"> <locking isolation="READ_COMMITTED"/> <read mode="LOCAL"/> <remote-timeout>200</remote-timeout> </distributed-cache> - 优化JGroups MPING集群网络配置:排查三节点间网络延迟,确认组播地址、端口配置无误且无丢包。可尝试切换为TCP栈(TCP+TCPPING)替代MPING,消除组播带来的不确定性开销。
- 检查缓存分片分布:通过Infinispan管理控制台查看缓存条目分布是否均匀,若存在节点负载倾斜,可调整
num-owners参数(如从默认2改为1,仅适用于允许数据丢失的场景)减少跨节点读取次数。 - 启用本地热点缓存:配置
near-cache将高频读取条目缓存至本地节点,降低跨节点请求频次。示例配置:<distributed-cache mode="ASYNC"> <near-cache mode="INVALIDATION"/> </distributed-cache> - 提交社区Bug:若上述调整无效,整理完整测试环境信息(JDK版本、操作系统、集群配置、压测脚本)及性能对比数据,在Infinispan GitHub Issues提交问题,明确标注问题始于14.0.16版本,协助官方定位修复。
内容的提问来源于stack exchange,提问作者Eddie Carpenter
相关产品推荐
相关产品推荐

