sqlite - 为什么 Heroku Web 应用程序的运行速度比 Flask 的 localhost 慢得多?
问题描述
我正在构建一个使用 Vue + Flask + SQLite 的基本 Web 应用程序,该应用程序在 localhost 上运行得非常快。大部分数据处理都是用 pandas 完成的,查看 localhost 日志,数据处理进行得非常快,因此加载网站也非常快。然而,一旦我将网站部署到 Heroku,根据他们的日志,数据处理速度减慢了大约 5 倍。有谁知道可能导致此问题的原因?
解决方案
你的问题不是唯一的。从 localhost 到商业服务器,尤其是较低层的商业服务器,可能会使应用程序变慢 2-3 倍。但是,在您的情况下,5x 有点太多了。问题应该出在您的代码中。此外,如果您能提及任何显着减慢的代码块,那就太好了。这里有几点需要改进:
函数改进:了解不同函数的时间复杂度。通常,避免循环 - for、while。
数据库改进:确保您不会一次从服务器获取非常大的数据。分部分进行。此外,为每个小数据块查询数据库同样是错误的。这里要注意的另一点是,不是在一个表中拥有大量数据并多次从中获取小块。拆分你的表。
另一个常见的错误是在数据库中保存易于计算的值。避免将数据推送到数据库进行计算。将它们保存在本地环境或会话中。
我希望您不会过多地移动或使用 CSV 之类的文件。数据帧更快。
推荐阅读
- python - 导入错误:flask_login
- python - 无法从 python 中搜索标签,但可以在 chrome 中查看
- c# - Newtonsoft Json 参考在错误的一边
- php - PHP:更好的算法来严格类型识别数组中的重复项
- wordpress - 发生错误,请重试或在 Elavon Converge 信用卡支付网关中尝试其他支付方式
- kotlin - Android Spinner 文字区别
- google-cloud-functions - 动作 SDK 不工作
- python - 多个条件 np.extract
- react-native - 键盘关闭时失去 TextInput 的焦点
- javascript - 如何在同一个 telnet 连接上发送多条数据?