flask自带服务器 性能,Flask内置Web服务器的局限性是什么

小编典典

这个问题没有一个正确的答案,但是请记住以下几点:

通过适当的水平扩展,你很有可能可以永远扩展使用调试服务器。究竟何时需要开始扩展(或切换为使用“真实的” Web服务器),这还取决于你所托管的环境,用户的期望等。

你可能会遇到的主要问题是服务器是单线程的。这意味着它将一次连续地处理每个请求。这意味着,如果你尝试服务多个请求(包括网站图标,图像,CSS和Javascript文件等静态项),则请求将花费更长的时间。如果任何给定的请求恰好花费很长时间(例如20秒),则整个应用程序将在该时间(20秒)内无响应。当然,这只是默认设置:你可以增加线程数(或在其他进程中处理请求),这可以缓解某些问题。但是再一次,它在“高”负载下仍然会变慢。所谓的“高”负载将取决于你的应用程序以及对最大可接受响应时间的期望。

另一个问题是安全性:如果你完全关心安全性(不仅是应用程序本身中数据的安全性,还包括将要运行它的盒子的安全性),那么你不应该使用开发服务器。它尚未准备好承受任何形式的攻击。

最后,开发服务器可能会完全失败。它并非设计用于长时间运行(几天,几周,几个月),因此尚未经过充分测试以达到此目的。

因此,是的,它有局限性。是的,你仍然可以想象在生产中使用它。是的,我仍然建议使用“真实” Web服务器。如果你不喜欢需要安装Apache或Nginx之类的想法,则仍然可以使用一些WSGI Standalone服务器,该解决方案仍然像“运行python脚本”一样简单。设计用于生产中的服务器,就像python run_app.py在命令行中运行一样简单。通常,你只需要创建4-5行的python脚本即可导入和创建服务器对象,将其指向Flask app并运行它。

gunicorn可以仅在命令行上运行以下命令,而无需额外的脚本:

gunicorn myproject:app

…其中“ myproject”是包含appFlask对象的Python包。请记住,其中一个“ gunicorn”开发商可能会建议你反对这种方法。

2020-04-05

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值