在按应用服务计划运行的 Azure Functions 应用上,我们注意到内存显着增加(从 ~100MB 增加到 3GB)。
函数应用程序是用 Python 编写的,每当事件中心收到新事件时就会触发。
我尝试根据 azure's official guide 来分析内存我注意到有几个奇怪的部分:
- 每次调用新事件时,函数内存都会增加几 KB/MB
- 例如,当变量保存数据时,在 Python 函数内部,日志显示内存未释放(?)
- 随着时间的推移,这些微小的增量会导致较高的内存使用量。
如果您能建议可能的解决方案或任何进一步的调试方法,将会很有帮助。
最佳答案
经过一段时间和太多的分析 session 后,问题似乎与我们在项目中使用的日志库(python logzio)有关,他们有一个用于无服务器部署的特殊部分,其实现旨在刷新伐木工。一旦 logzio 刷新器正确刷新记录器,调用之间增加的内存消耗就不再是问题了。这解决了我的由 logzio 记录器集成引起的问题。
关于azure - Azure Functions 应用程序上的增量内存消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73876103/