gpt4 book ai didi

javascript - 可能的node.js内存过度使用w/express服务器和pm2

转载 作者:行者123 更新时间:2023-12-03 10:00:48 24 4
gpt4 key购买 nike

我正在开发一组为应用程序/平台协同工作的服务的一部分。我需要帮助的领域是一个普通的 Express 服务器,我们用它来提供我们的客户端应用程序(具体来说是一个 React 应用程序)。我们还有许多其他服务在其他 Node 进程上运行,我们的客户端应用程序与之交互并使用它们。

目前,它是一个真正的轻量级 Express 服务器,仅使用 res.sendfile() 将 html 文件发送到客户端。我们最终将过渡到在服务器上呈现的更加同构(流行语)的方法。我们使用出色的 pm2 模块来监视和配置服务器上的 Node 进程,这就是我的主要问题所在。

这是整个服务器中最相关的部分:

app.use("/app", express.static(__dirname + '/public'));

app.get('*', function(req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
});

在到达堆栈中的这一点之前,我们使用了一些标准中间件函数。我认为这些与这里无关,但如果有人认为这可能是问题所在,我可以将它们包括在内。

我们使用通配符路由将部分路由责任转移到 react-router,它利用了 html5 历史记录/位置 API。除了基本的路由/响应代码之外,服务器的配置非常少。

这看起来非常轻量级,但是当我查看 pm2 monit 的结果(显示内存使用情况)时,我看起来每个集群每个请求都增加了约 3mb。我不确定这是否是 rss 或堆的安全/可忽略的增加,或者我是否应该担心。看起来它几乎将 index.htmlapp.jsapp.css 缓冲到内存中。

谁能帮我诊断一下吗?我正在寻找内存泄漏吗?我是否应该考虑这里的内存泄漏?我没有看到任何常见的迹象(随着时间的推移,在没有交互的情况下积累内存,等等)。我想在某种程度上我在这里依赖 pm2,但它是一个相当知名的模块,在生产中为不同的人提供了大量的操作,所以我还不太怀疑。

以下是集群响应非常基本的 GET 请求的示例: asciicast

最佳答案

原来这是由我的 newrelic monitor installed w/ npm 引起的。警惕第三方工具! :)

关于javascript - 可能的node.js内存过度使用w/express服务器和pm2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30610400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com