搜索
首页CMS教程WordPress测量Brotli压缩对WordPress的影响

Brotli压缩:提升WordPress网站性能的利器

核心要点:

  • Google推出的新型压缩算法Brotli能显着提升WordPress网站性能,方法是减小文件大小,加快加载速度。
  • 在服务器上安装和配置Brotli可能比较复杂,因为它尚未在流行的Web服务器上正式发布,需要手动配置才能与WordPress完全集成。
  • Brotli的压缩率比另一种现代压缩算法Gzip高出20-26%,从而产生更小的文件和更快的加载速度。
  • 尽管Brotli有很多优点,但并非所有浏览器都支持它,而且只能在HTTPS上使用,这可能会给一些用户带来采用上的挑战。

WordPress凭借易用性、强大的社区支持和可配置性等诸多优势成为优秀的CMS。然而,WordPress用户经常面临的一个难题是网站性能问题。本文将探讨Brotli压缩及其对WordPress性能的影响。

免责声明:我为KeyCDN工作,此处引用了他们的一些文章和工具。

网上有很多关于“加速WordPress”的文章,它们提供了许多改进网站加载速度的方法,包括使用插件进行优化。然而,自从Google发布了最新的压缩算法Brotli以来,收集到的数据还不足以确定在WordPress网站上启用它会带来什么样的性能提升。

在本文中,我们将通过在三种不同场景下测试WordPress性能来衡量Brotli压缩的效果:

  1. 启用Gzip的WordPress
  2. 启用Brotli的WordPress
  3. 启用Brotli 支持Brotli的CDN的WordPress

什么是Brotli压缩?

Brotli(以一种瑞士烘焙产品命名)是Google在2015年发布的一种相对较新的压缩算法。根据Google的说法,Brotli压缩结合使用了现代LZ77算法变体、霍夫曼编码和二阶上下文建模。

Google使用Brotli压缩算法进行了各种测试,并将结果与其他现代压缩算法进行了对比。根据这项研究,Google发现Brotli在压缩率方面平均比Zopfli(另一种现代压缩算法)高出20-26%。在性能方面,文件压缩得越小总是受欢迎的。

在服务器上安装和配置Brotli

Brotli的一个小缺点是它尚未在任何流行的Web服务器上正式发布。这意味着,如果您今天想在服务器上启用Brotli,则需要进行一些配置工作。以下Brotli性能测试均在运行Nginx的Ubuntu 16.04.2 LTS上进行(需要了解如何使用Nginx?请查看SitePoint高级课程《使用Nginx加速网站》)。下面,我们将逐步介绍如何在相同的操作系统和Web服务器上运行Brotli。

Ubuntu 16.04是第一个允许您使用apt-get安装Brotli的Ubuntu发行版。为此,只需运行:

$ apt-get update && apt install brotli

完成后,您需要为Brotli压缩安装Nginx模块并编译最新版本的Nginx(当前版本为1.13.0):

$ apt-get update && apt install brotli

Brotli现在应该已正确安装在您的服务器上。接下来,您需要配置nginx.conf文件以指定所需的配置指令。以下指令用于这些性能测试;但是,您可以根据需要修改它们。

Brotli设置

$ git clone --recursive https://github.com/google/ngx_brotli ngx_brotli

$ wget http://nginx.org/download/nginx-1.13.0.tar.gz
$ tar zxvf nginx-1.13.0.tar.gz
$ cd nginx-1.13.0

$ ./configure --add-module=../ngx_brotli
$ make && make install

完整的指令列表可以在Nginx模块Github页面上找到。

由于修改了nginx.conf文件,因此最后一步是重新加载Nginx。为此,请运行以下命令:

brotli on;
brotli_comp_level 3;
brotli_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

测试Brotli支持

Brotli现在应该已安装并配置在您的服务器上。要验证这一点,您可以选择两种方法。

  1. 使用Brotli测试工具,该工具将根据域名检查服务器是否支持Brotli。 Measuring the Effects of Brotli Compression on WordPress
  2. 使用Chrome浏览器,打开Chrome开发者工具并导航到“网络”选项卡。刷新页面并选择一个资源。您应该会看到content-encoding的值现在为br,代表Brotli。 Measuring the Effects of Brotli Compression on WordPress

配置Brotli以与WordPress配合使用

此时,您应该能够使用Brotli压缩正确地交付WordPress资源。但是,如果您检查HTML文档的请求标头详细信息,您可能会注意到content-encoding值仍然为“Gzip”。这是由于WordPress PHP代码依赖于PHP设置zlib.output_compression“On”。

不幸的是,目前无法使用WP过滤器更改此设置。但是,随着Brotli的普及,WordPress可能会引入简单的修复程序。目前,您需要手动禁用zlib.output_compression,方法是编辑php.ini文件(如果使用PHP 7.0,则位于/etc/php/7.0/fpm/php.ini)。只需将zlib.output_compression设置为Off,然后使用systemctl restart php7.0-fpm.service重新启动PHP。

现在,在检查网站的HTML文档时,您应该能够看到content-encoding标头值br。

Measuring the Effects of Brotli Compression on WordPress

在WordPress上进行Brotli性能测试

如上所述,我们的Brotli性能测试是在三种不同的场景下进行的。

  1. 启用Gzip的WordPress
  2. 启用Brotli的WordPress
  3. 启用Brotli 支持Brotli的CDN的WordPress

Brotli和Gzip压缩级别均设置为“3”。可以根据您喜欢的文件节省量与压缩时间来修改压缩级别。每个测试都使用运行“2017”主题的普通WordPress安装。默认情况下,此主题加载14个资源并传输236KB的数据。

需要注意的是,上述测试网站中的并非所有资源都是可压缩的。例如,图像既不会被Gzip压缩,也不会被Brotli压缩,任何第三方资源(如字体)也不会被Brotli压缩。因此,使用Gzip的所有压缩资源的总大小的基线为84.7KB。为了考虑加载时间的变化,我们对每个页面都进行了三次硬刷新,并计算了每个测试场景的平均加载时间。这样,所有资源都将从服务器加载,而不是从浏览器缓存加载。

下表概述了加载速度和压缩资源大小的结果。

WordPress Gzip WordPress Brotli WordPress Brotli CDN
加载速度 780 ms 690 ms 630 ms
压缩大小 84.7 KB 81.7 KB 81.7 KB

正如结果所示,两种Brotli压缩方法的加载时间都比Gzip快,压缩大小也更小。尽管页面大小的差异并不显着,但请记住,这些测试是在裸机WordPress安装上进行的。对于那些拥有许多资源的网站,多个资源上的少量节省肯定会累积起来。

此外,出于测试目的,我们将两种压缩方法都设置为最高级别,以观察可压缩资源大小的差异。结果如下:

  • Brotli 11 – 压缩大小:67.7 KB
  • Gzip 9 – 压缩大小:76.7 KB

尽管在这两种情况下,将压缩级别设置为最大可能并非必要(因为压缩时间长得多),但值得注意的是,Brotli网站的可压缩资源大小比Gzip网站的可压缩资源大小小13.2%。

Brotli支持现状

Brotli并非所有浏览器都普遍支持,尽管许多流行的浏览器目前都支持它(截至2017年5月)。

Measuring the Effects of Brotli Compression on WordPress https://www.php.cn/link/fc5f86251458722c799d1830fa0c2c1f

至于服务器支持,大多数流行的Web服务器都提供官方或社区创建的模块。如本文的安装过程所示,Nginx用户必须安装扩展程序并使用Brotli支持编译Nginx。同样,Apache用户可以使用mod_brotli模块来交付Brotli压缩的内容。

Brotli的优缺点

和任何事物一样,使用Brotli也有其优缺点。以下是一些需要考虑的几点。

优点

  • 更小的压缩结果
  • 更快的加载时间
  • 与Gzip相比,压缩时间相当

缺点

  • 目前采用起来有点麻烦
  • 并非所有浏览器都支持
  • 需要手动配置才能与WordPress完全集成

此外,Brotli只能在HTTPS上使用,这既可以看作是优点,也可以看作是缺点。一方面,它正在帮助更多网站从HTTP迁移到HTTPS,从而创建一个更安全的互联网。另一方面,它为那些想要启用Brotli但仍在使用HTTP的用户带来了更多工作。

总结

如测试结果所示,在WordPress网站上实现Brotli在性能方面非常有益。在源服务器上实现Brotli允许在服务器端进行压缩,然后在支持Brotli压缩的CDN上缓存该内容,从而实现更快的资源交付。

尽管Brotli尚未被所有浏览器普遍支持,但重要的是要识别访问者最常使用的浏览器,并通过提供更快的加载时间来满足他们的需求。此外,对于那些使用尚未支持的浏览器的用户,这些浏览器只会回退到使用Gzip——双赢的局面。

关于WordPress Brotli压缩的常见问题解答(FAQ)

Brotli和Gzip压缩有什么区别?

Brotli和Gzip都是用于压缩数据的算法,但它们有一些关键区别。由Google开发的Brotli是一种较新的算法,它比Gzip提供更好的压缩率。这意味着它可以使文件更小,这可以加快网站的加载速度。但是,Brotli不像Gzip那样得到广泛支持,因此它可能无法在所有浏览器或服务器上运行。

Brotli压缩如何提高网站性能?

Brotli压缩通过减小构成网站的文件的大小来工作。这意味着当用户访问您的网站时,他们的浏览器需要下载的数据更少,这可以加快加载速度。更快的加载速度可以改善用户体验,并对网站的SEO产生积极影响。

所有浏览器都支持Brotli压缩吗?

虽然包括Google Chrome和Firefox在内的许多现代浏览器都支持Brotli压缩,但并非所有浏览器都支持它。例如,Internet Explorer不支持Brotli压缩。因此,在决定是否使用Brotli压缩时,务必考虑您的受众及其可能的浏览器使用情况。

如何测试我的网站是否正在使用Brotli压缩?

有几种可用的在线工具可以测试您的网站是否正在使用Brotli压缩。这些工具通过向您的网站发送请求,然后分析响应以查看它是否已使用Brotli进行压缩来工作。

我可以在我的WordPress网站上使用Brotli压缩吗?

是的,您可以在您的WordPress网站上使用Brotli压缩。但是,实现Brotli压缩可能比其他类型的压缩更复杂,因为它需要修改服务器配置。还有一些插件可以帮助您在WordPress网站上实现Brotli压缩。

使用Brotli压缩的潜在缺点是什么?

虽然Brotli压缩可以提高加载时间,但它并非没有潜在的缺点。首先,它不像其他压缩方法(如Gzip)那样得到广泛支持。这意味着它可能无法在所有浏览器或服务器上运行。此外,Brotli压缩可能比其他方法更消耗资源,这可能会减慢服务器速度。

Brotli压缩是如何工作的?

Brotli压缩通过查找并删除数据中的冗余来工作。它使用常用单词和短语的字典来将重复数据替换为更短的表示形式,从而减小数据的整体大小。

Brotli压缩会影响我的网站SEO吗?

是的,Brotli压缩可能会对您的网站SEO产生积极影响。这是因为搜索引擎在对网站进行排名时考虑的因素之一是加载时间。通过减小网站文件的大小,从而提高加载速度,Brotli压缩可以帮助提高网站的SEO。

Brotli压缩适用于所有类型的网站吗?

Brotli压缩可以使许多类型的网站受益,特别是那些拥有大量文本数据(如博客或新闻网站)的网站。但是,对于包含大量多媒体内容的网站,它可能不太有益,因为此类内容通常已经过压缩,并且使用Brotli可能不会看到显着的尺寸减小。

如何在我的服务器上实现Brotli压缩?

在服务器上实现Brotli压缩通常需要修改服务器的配置文件以启用Brotli压缩并指定应压缩的文件类型。确切的过程可能因服务器的操作系统和您使用的Web服务器软件而异。

以上是测量Brotli压缩对WordPress的影响的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
WordPress适合创建投资组合网站吗?WordPress适合创建投资组合网站吗?Apr 26, 2025 am 12:05 AM

是的,wordpressisisexcellentforcortingaportfoliowebsite.1)itoffersnumeroversnumeroverportfolio-spificthemeslike'astra'astra'astra'astra'astra'astra'astra'astra'astra'elementor'Enelementor'enableIntiviveSiveSign,Thoughtemanycanslowthesite.3)

使用WordPress而不是从头开始编码网站的优点是什么?使用WordPress而不是从头开始编码网站的优点是什么?Apr 25, 2025 am 12:16 AM

WordPressisadvantageousovercodingawebsitefromscratchdueto:1)easeofuseandfasterdevelopment,2)flexibilityandscalability,3)strongcommunitysupport,4)built-inSEOandmarketingtools,5)cost-effectiveness,and6)regularsecurityupdates.Thesefeaturesallowforquicke

是什么使WordPress成为内容管理系统?是什么使WordPress成为内容管理系统?Apr 24, 2025 pm 05:25 PM

WordPressIsAcmsDuetoItseAsofuse,自定义,USERMANAMECTION,SEO和COMMUNITYSUPPORT.1)ITSIMPLIFIESCONTENTMANGAMEWITHANINTUISIDERFEEFFECE.2)提供extentensiveCustomizationThroughThroughTheMesandPlugins.3)supportrobustuserrolesandplugins.4)supportrobustuserrolesandpermissions.4)增强

wordpress怎么加评论框wordpress怎么加评论框Apr 20, 2025 pm 12:15 PM

在 WordPress 网站上启用评论功能,可以为访客提供参与讨论和分享反馈的平台。为此,请按照以下步骤操作:启用评论:在仪表盘中,导航至“设置”>“讨论”,并选中“允许评论”复选框。创建评论表单:在编辑器中,单击“添加块”并搜索“评论”块,将其添加到内容中。自定义评论表单:通过设置标题、标签、占位符和按钮文本来定制评论块。保存更改:单击“更新”以保存评论框并将其添加到页面或文章中。

wordpress怎么复制子站wordpress怎么复制子站Apr 20, 2025 pm 12:12 PM

如何复制 WordPress 子站?步骤:在主站创建子站。在主站克隆子站。将克隆导入目标位置。更新域名(可选)。分开插件和主题。

wordpress怎么写页头wordpress怎么写页头Apr 20, 2025 pm 12:09 PM

在WordPress中创建自定义页头的步骤如下:编辑主题文件“header.php”。添加您的网站名称和描述。创建导航菜单。添加搜索栏。保存更改并查看您的自定义页头。

wordpress评论怎么显示wordpress评论怎么显示Apr 20, 2025 pm 12:06 PM

WordPress 网站中启用评论功能:1. 登录管理面板,转到 "设置"-"讨论",勾选 "允许评论";2. 选择显示评论的位置;3. 自定义评论表单;4. 管理评论,批准、拒绝或删除;5. 使用 <?php comments_template(); ?> 标签显示评论;6. 启用嵌套评论;7. 调整评论外形;8. 使用插件和验证码防止垃圾评论;9. 鼓励用户使用 Gravatar 头像;10. 创建评论指

wordpress怎么上传源码wordpress怎么上传源码Apr 20, 2025 pm 12:03 PM

可以通过 WordPress 安装 FTP 插件,配置 FTP 连接,然后使用文件管理器上传源码。步骤包括:安装 FTP 插件、配置连接、浏览上传位置、上传文件、检查上传成功。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!