【问题标题】:How to profile nodejs app for memory leaks inside docker container?如何分析 nodejs 应用程序是否存在 docker 容器内的内存泄漏?
【发布时间】:2017-04-18 22:51:45
【问题描述】:

我开发了一个带有 mongo 连接的 nodejs 应用程序。

我已经在不同的容器中部署了 mongo 和 node 应用程序。

我正在使用docker-compose up 部署这些容器。

现在我想分析这些容器以进行内存分析、http 请求?

我发现了docker stats,但它只提供容器统计信息。

我想分析这些应用程序是否存在内存泄漏和其他问题。

任何输入?

【问题讨论】:

    标签: javascript node.js mongodb docker profiling


    【解决方案1】:

    我建议使用 pm2 : process manager for Node.js

    我为我的节点应用做了以下操作。

    我将我的节点应用程序部署在基于官方节点映像构建的容器中。然后我将此节点应用程序连接到 mongodb 容器。

    现在使用pm2 我可以轻松跟踪内存使用情况和其他方面的性能。它还具有关键指标仪表板,您可以在其中直接跟踪运行 docker 容器的进程的资源分配。

    希望这会有所帮助。

    【讨论】:

    • 小心那个pm2。 AGPL 许可证。那就是“GPL,但即使您不分发您的应用程序,您仍然必须向所有人展示源代码”版本。又名“Richard Stallman 太固执,没有意识到他意外地创建了共享软件许可证”。 GPL 很好,到 2021 年每个人都理解它以及如何很好地使用它。但是 AGPL 是一个巨大的法律重击球,可能会产生一些非常丑陋的意外后果。它在双重执照人群中如此受欢迎是有原因的。它不是许可证,而是“付款或其他”的诱杀陷阱。
    猜你喜欢
    • 2011-06-28
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多