使用 Flask 时在 apache 上加载页面缓慢

Slow page loading on apache when using Flask

问题

我将笔记本电脑与 Apache 一起用作涉及 tensorflow 和 python 的本地项目的服务器,该项目使用用 Flask 编写的 API 来为 GET 和 POST 请求提供服务来自应用程序和本地的另一个用户 network.The 问题是,当我专门导入 tensorflow 或 tensorflow github 研究文件夹中的 object 检测文件夹时,初始页面一直在加载文件夹,它似乎永远不会完成,有效地卡住了。我怀疑这个问题与包的大小有关,但是当运行在 Flask 提供的开发服务器上安装应用程序时,我没有遇到任何问题。

在尝试解决此问题时,是否有任何我应该寻找的指示?我检查了内存使用率,它似乎并没有大幅上升,CPU使用率也是如此。

调试过程

我能够很快地将基本的 hello world 打印到根页面,但我将问题隔离到导入发生卡住的地步。 我唯一能想到的是限制启动的线程数,但是当我在 httpd-mpm.conf 文件中将每个 child 的线程数限制为 5 并将连接数限制为 5 时,它没有帮助。 error/access 日志没有提供太多关于此事的见解。

一些注意事项:

到目前为止,我使用启用了 multi-threading 的 Flask 开发服务器来处理这些请求,但我发现它在连续 运行 5 分钟后很容易崩溃,所以我现在正在尝试通过 wsgi 接口使用 Apache 以使用 Python 脚本。 我还应该注意,我不服务 html 文件,只是基本的 GET 和 POST 请求。我只是使用浏览器查看它们。 如果有帮助,我也不使用虚拟环境。 我正在使用 Windows 10、Apache 2.4 和 mod_wsgi 4.5.24

tensorflow 模块是一个 C 扩展模块,可能无法实现,因此它在 Python 子解释器中可以正常工作。为了解决这个问题,强制您的应用程序在主 Python 解释器上下文中 运行。详细信息: