【问题标题】:Why would a React app have high memory usage on Heroku?为什么 React 应用程序在 Heroku 上的内存使用率很高?
【发布时间】:2020-03-28 04:02:02
【问题描述】:

在我的工作中,我们使用 CRA 和 typescript 创建了一个小型 React 应用程序,即create-react-app some-app --typescript。应用程序总大小为 305MB,运行npm run build 后,生成的应用程序约为 6MB。我们正在使用 Bitbucket 管道将其部署到 Heroku。

当我们将它部署到 Heroku 时,它以某种方式不断地在 Heroku 上使用超过 500MB 的内存。我们觉得这很奇怪,因为我们用 CRA 和 javascript 制作的不同的 react 应用程序只使用了 100MB,尽管要大得多; build 文件夹为 60MB,app 文件夹大于 1GB。

我们知道这是应用程序内部的东西,因为当我们部署应用程序的基本版本时,内存使用量下降到 250MB,这仍然高得离奇,但比目前的情况有了显着改善。

我们唯一能想到的就是清除缓存,这并没有帮助。

有没有其他人遇到过这个问题,如果有,他们是如何解决的?

PS。不幸的是,我无法发布该应用程序的代码,因为它属于公司。如果人们知道问题可能出在哪里,我可以发布片段。

【问题讨论】:

    标签: reactjs typescript heroku memory bitbucket-pipelines


    【解决方案1】:

    您在测试时是针对 dev 模式还是 prod 模式进行测试?您是否在使用不需要的软件包。数据源是否相同,您是否调用相同的 API 等。寻找您的应用程序中的差异。

    【讨论】:

    • 原来我们使用的是开发模式
    【解决方案2】:

    已通过使用 buildpack 修复 mars/create-react-app

    注意:确保在 Heroku 设置中将其添加为 mars/create-react-app

    【讨论】:

      【解决方案3】:

      当你在heroku上运行开发服务器时,你会因为打字稿而耗尽内存,因为现在有2个节点进程正在运行:

      • 一个用于您的 start.js 脚本
      • 一个用于打字稿的类型检查器

      每个都需要大约 300-400mb 的内存

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-27
        • 2016-06-02
        • 2015-04-02
        • 1970-01-01
        • 2022-08-10
        • 2016-05-05
        • 2011-07-19
        • 1970-01-01
        相关资源
        最近更新 更多