issues
search
nacos-group
/
r-nacos
Nacos server re-implemented in Rust.
https://r-nacos.github.io/docs/
Apache License 2.0
840
stars
93
forks
source link
部分使用场景r-nacos连续长时间运行内存会缓慢增加问题
#108
Closed
heqingpan
closed
4 months ago
heqingpan
commented
4 months ago
问题发现
有用户反馈r-nacos连续长时间运行内存会缓慢增加,怀疑可能有问题。
问题复现
按时用户描述的使用场景,在个人服务器运行r-nacos+18个使用1.x http注册的实例, 1天后内存从7M涨到44M,确认有问题。
问题确认
把注册中心中相关集合数据大小当做监控指标接入监控指标采集器,通过间隔循环采集打印到日志。通过日志中的监控指标返现过期标记数据没有被清理,确认问题点。
通过代码分析发现是因为原来的过期标记在一个集合里标记实例的健康超期、实例下线时间;这两个状态的时候在连续注册时会相互干扰标记数据,导致标记没能及时回收。
影响范围
通过1.x http协议注册实例场景有这个问题
通过2.x grpc协议调用服务或1.x http 调用配置中心场景不受影响
问题修复
把实例的健康超期标记与下线时间标记分为两个集合管理,这样可以很容易避免其相互干扰。
后续如何避免这类问题:
对r-nacos核心的配置中心、注册中心的内存数据维护对应的监控指标,可以在测试阶段通过指标数据提前发现并解决问题。
注:本issue是修复问题后补充的问题描述,用于记录问题处理过程。
heqingpan
commented
4 months ago
v0.5.13版本已解决
注:本issue是修复问题后补充的问题描述,用于记录问题处理过程。