Flask系列:网页载入速度优化

在这篇博文中,我将描述如何优化您的Flask应用程序。

网站速度非常重要。这会让您的网站取得成功,无论你为用户提供了多优秀的内容和功能,如果您的网站网页载入速度比竞争对手的网页载入速度慢,那么竞争对手可能会获得关注,而不是您的网站。特别是当所有的主要搜索引擎都喜欢快速的网页。

有很多可以使用的网站性能测量服务:

– Google PageSpeed Insights ;
– YSlow ;
– WebPageTest ;

以上服务将为您提供提示和技巧:影响因素及如何改善您的网站。在这篇文章中,我将展示Flask如何帮助您解决网站中的一些主要性能问题。

压缩
大多数浏览器现在支持gzip压缩和处理所有HTTP请求。Gzip压缩允许减小响应体大小的70-90%。在Flask应用程序中很容易实现这一点。Flask-Compress这个插件通过gzip方式来压缩应用程序的response。

config.py
你可以找到测试,验证应用程序的压缩配置,如果它在test/compress_tests.py模块下正常工作。

缓存
缓存数据可以减少对数据库的调用,额外的计算等。Flask-Cache扩展将帮助你解决这个问题。

cache.py

config.py

__init__.py

有几种不同的缓存类型可以使用:simple,memcached,redis,filesystem等。完整的列表及其具体配置可以在配置Flask-Cache部分找到。

现在您已安装并配置了扩展,您可以按以下方式使用它:
bookshelf / main / controllers.py
bookshelf / admin / controllers.py

CDN
内容分发网络(CDN)解决了向世界各地的用户提供内容的问题。它们是部署在多个数据中心的大型分布式系统。Flask-CDN扩展为开发人员提供CDNs来处理静态文件。

此扩展替换Flask url_for函数。当从模板调用它时,将改为调用flask_cdn.url_for函数。

完整的配置列表可以在Flask-CDN选项部分找到。

合并文件
合并文件可减少对服务器的请求,从而显着提高您的网站的性能。 Flask-Assets扩展可以让你在应用程序中捆绑文件。

个人补充:Flask-Assets其实就是合并js、css,还可以去空白符和换行符。

在这篇博客中描述的完整的演示应用程序,可以在这里Flask找到。

这是一篇翻译文章:博客:DAMYAN’S BLOG 原文链接https://damyanon.net/flask-series-optimizations/

另说到的插件和一些网站载入速度测试,请自行百度或者谷歌一下获取相关信息。

本渣渣第一次翻译文章,千疮百孔,轻点喷,我疼!

Leave a Comment