【问题标题】:Why is Heroku web app running so much slower than localhost for Flask?为什么 Heroku Web 应用程序的运行速度比 Flask 的 localhost 慢得多?
【发布时间】:2021-09-02 10:11:45
【问题描述】:

我正在构建一个使用 Vue + Flask + SQLite 的基本 Web 应用程序,该应用程序在 localhost 上运行得非常快。大部分数据处理都是用 pandas 完成的,查看 localhost 日志,数据处理速度非常快,因此加载网站也非常快。然而,一旦我将网站部署到 Heroku,根据他们的日志,数据处理速度减慢了大约 5 倍。有谁知道是什么导致了这个问题?

【问题讨论】:

    标签: sqlite vue.js flask heroku


    【解决方案1】:

    您的 PC 拥有比 heroku 服务器更多的资源。

    https://devcenter.heroku.com/articles/dyno-types

    除非您为顶级服务器付费,我认为您不会。

    【讨论】:

    • 例如,我有任务在本地运行 3 秒,在 heroku 上需要超过 30 秒,所以它们超时。那是在使用 50 美元的标准 2x 服务器时。
    【解决方案2】:

    您的问题不是唯一的。从 localhost 到商业服务器,尤其是较低层的商业服务器,可能会使应用程序变慢 2-3 倍。 但是,在您的情况下,5x 有点太多了。问题应该出在您的代码中。此外,如果您能提及任何显着减慢的代码块,那就太好了。 以下是一些需要改进的地方:

    1. 功能改进: 阅读不同函数的时间复杂度。一般来说,避免循环 - for、while。

    2. 数据库改进: 确保您不是一次从服务器获取非常大的数据。分部分进行。此外,为每个小数据块查询数据库同样是错误的。 这里要注意的另一点是,不是在一个表中拥有大量数据并多次从中获取小块。拆分表格。

    3. 另一个常见的错误是在数据库中保存易于计算的值。避免将数据推送到数据库进行计算。将它们保存在本地环境或会话中。

    4. 希望您不要过多地移动或使用 CSV 之类的文件。数据帧更快。

    【讨论】:

      猜你喜欢
      • 2016-10-23
      • 2011-01-24
      • 2019-12-09
      • 2012-12-20
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多