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

时间:2018-03-25 00:04:58

标签: python apache tensorflow flask mod-wsgi

问题

我正在将我的笔​​记本电脑与Apache一起用作涉及tensorflow和python的本地项目的服务器,该项目使用在Flask中编写的API来为来自应用程序的GET和POST请求提供服务,并且可能是本地网络上的另一个用户。问题是当我在tensorflow github文件夹中的research文件夹中专门导入tensorflow或对象检测文件夹时,初始页面继续加载,并且它似乎永远不会完成这样做,有效地使其卡住。我怀疑这个问题与大小的软件包有关,但在Flask提供的开发服务器上运行应用程序时,我没有遇到任何问题。

在尝试解决此问题时,我是否应该寻找指针?我检查了内存使用情况,它似乎没有大幅上升,以及CPU使用率。

调试过程

我可以很快地将基本的hello world打印到根页面,但是我将问题隔离到了导入发生的地方。 我唯一能想到的是限制启动的线程数,但是当我在httpd-mpm.conf文件中将每个子节点的线程数限制为5并将连接数限制为5时,它就没有了。帮忙。 错误/访问日志不能提供很多洞察力。

一些注释:

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

1 个答案:

答案 0 :(得分:0)

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