首页 > 解决方案 > 为什么 Heroku Web 应用程序的运行速度比 Flask 的 localhost 慢得多?

问题描述

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

标签: sqlitevue.jsflaskheroku

解决方案


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

  1. 函数改进:了解不同函数的时间复杂度。通常,避免循环 - for、while。

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

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

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


推荐阅读