prometheus federation 的内存问题
資深大佬 : plko345 56
遇到一个问题, prometheus-1 通过 federate 去 pull 另一个 prometheus-2 上的数据时, 大多成功, 但是当在一段时间内出现多次 timeout 的情况, 这时 prometheus-1 的内存会暴涨好几个 GB, 想知道这时 prometheus-1 上的工作机制是什么, 是什么原因导致它需要这部分内存
强调下, 是在一段时间内出现多次 pull 失败才暴涨
我的猜测
- prometheus pull 这部分数据失败, 因为数据不完整, 需要将已经获得的部分数据清理掉, 可是这时一个 HTTP 请求并没有完成, 这”部分数据”存在吗?
- pull timeout 后, 因为到了下一次的 pull, 开始新的 pull 的同时, 需要处理掉前一个未完成请求, 将其加载到内存中处理, 似乎还是 1 的样子
- prometheus 内部的某种机制需要它在 pull timeout 时做些秘密的工作…
如果可以提供下相关的博客文档也可以, 搜索了好些信息, 发现都没有解释这一现象的, 先谢谢大家
大佬有話說 (0)