刚开始在本地服务器上试用Flask时,我注意到请求/响应时间比我预期的要慢得多。
像下面这样的简单服务器需要近5秒钟才能响应。
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "index" if __name__ == "__main__": app.run()
有任何想法吗?还是这只是本地服务器的方式?
在支持ipv6并进行了配置的操作系统(例如现代Linux系统,OS X 10.4或更高版本以及Windows Vista)上,如果访问本地服务器,某些浏览器可能会非常缓慢。原因是有时ipv4和ipv6套接字都配置了“本地主机”,并且某些浏览器会尝试先访问ipv6,然后再访问ivp4。
因此,解决方法是通过从主机文件中注释掉以下行来从本地主机禁用ipv6:
::1 localhost
一旦执行此操作,延迟问题就会消失。
我真的在研究Flask,并且很高兴它不是框架的问题。我知道不可能。
如此处建议的那样,将“ threaded = True”作为参数添加到app.run():http ://arusahni.net/blog/2013/10/flask-multithreading.html
例如: app.run(host="0.0.0.0", port=8080, threaded=True)
app.run(host="0.0.0.0", port=8080, threaded=True)
禁用ipv6的解决方案对我不起作用,但确实如此。