如果由少量用户并行使用,Flask 应用程序会变慢
Flask app slow if used by a small number of users in parallel
我有一个带有一些简单的 Jinja2 模板的 Flask 应用程序。另外我用 Flask-Assets/pyScss 作为 CSS.
如果单个用户使用该应用程序,那么一切都很好。如果少数人(少于 20 人)同时访问该应用程序,则响应时间 有时 会上升,感觉服务器根本没有响应。
我试过:
ab -n 1000 -c 20 http://myapp
但我无法重现该问题 "artificially"。您将如何调试此类问题?
您是 运行 开发服务器(app.run()
,或者如果使用 Flask-Script,则可能是 ./manage.py runserver
)。它默认运行一个线程,即使启用了线程,也不应在生产中使用。相反,使用真实的应用程序服务器,例如 uWSGI and proxy it behind a real web server such as Nginx. The Flask docs 直接告诉您不要在生产中使用开发服务器,并列出如何开始正确部署它的多个示例。
我有一个带有一些简单的 Jinja2 模板的 Flask 应用程序。另外我用 Flask-Assets/pyScss 作为 CSS.
如果单个用户使用该应用程序,那么一切都很好。如果少数人(少于 20 人)同时访问该应用程序,则响应时间 有时 会上升,感觉服务器根本没有响应。
我试过:
ab -n 1000 -c 20 http://myapp
但我无法重现该问题 "artificially"。您将如何调试此类问题?
您是 运行 开发服务器(app.run()
,或者如果使用 Flask-Script,则可能是 ./manage.py runserver
)。它默认运行一个线程,即使启用了线程,也不应在生产中使用。相反,使用真实的应用程序服务器,例如 uWSGI and proxy it behind a real web server such as Nginx. The Flask docs 直接告诉您不要在生产中使用开发服务器,并列出如何开始正确部署它的多个示例。