易服客工作室:WordPress 6.3性能改进

随着WordPress 6.3发布,本文总结了该版本的性能改进。虽然WordPress 6.2显著提高了Core的加载时间性能,树立了很高的标准,但WordPress 6.3性能改进已经超越了这些结果:根据进行的性能基准测试,与WordPress 6.2相比,基于最大内容绘制 (LCP)指标,WordPress 6.3块主题的加载速度提高了27%,经典主题的加载速度提高了18%主题。对于 WordPress 6.2,这些改进分别达到18%和5%,因此可以公平地总结WordPress 6.3在性能方面是一项重大成就。

要分解 6.3 中的性能改进,了解不同的加载时间性能指标以及它们之间的关系至关重要。最全面的指标是最大内容绘制 (LCP),因为它捕获总体加载时间性能。因此,本文引言中提到的百分比是专门测量的 LCP 改进。

LCP 的一个重要部分是首字节时间 (TTFB)指标,它捕获服务器端加载时间性能,从而直接影响 LCP:实际上,TTFB 是对 LCP 结果做出贡献的服务器端部分。对于客户端加载时间性能,没有专用的独立指标。然而,由于客户端性能实际上就是其他一切,因此可以得出结论,客户端加载时间性能可以通过 LCP 和 TTFB 之间的差异来表示,即“LCP-TTFB”。

网址: WordPress 6.3性能改进 - 易服客工作室

目录   

客户端性能

服务器端性能

数据库性能

关于所使用的基准的说明

自动化基准测试工作流程

客户端性能

在 WordPress 6.2 中,大部分性能提升来自服务器端性能 (TTFB) 的改进,如前面提到的6.2 性能改进帖子中所强调的那样。在 WordPress 6.3 中,情况有所不同:大部分性能提升源于客户端性能改进 (LCP-TTFB)。事实上,与 WordPress 6.2 相比,WordPress 6.3 中的客户端性能对于块主题快了 40%,对于经典主题快了 31% 。作为参考,WordPress 6.2 与 6.1 LCP-TTFB 的比较分别仅提高了 1.5% 和 2.5%。

绝大多数客户端性能改进来自于emoji-loader.js通过利用现代JavaScript API(例如 Web Workers、OffscreenCanvassessionStorage. 除非您的 WordPress 网站禁用了相关的表情符号功能,否则您应该会注意到由于此增强而带来的性能改进。

客户端性能改进的另一个显着部分源于添加对fetchpriority="high"图像属性的支持。因此,此改进仅与首屏上带有图像的内容相关,但鉴于图像是迄今为止网页上最常用的媒体,您很可能也会注意到此增强功能带来的性能改进。有关如何作为开发人员利用和修改新功能的全面概述,请参阅有关图像性能改进的 6.3 开发说明。有关更改的其他上下文,请参阅#58235

最后但并非最不重要的一点:这里应该强调的一个值得注意的开发人员功能是引入脚本加载策略,它增加了对使用defer或加载脚本的支持async。总的来说,这是性能的一个重要里程碑,但是到目前为止,仅引入了API本身,这意味着它尚未对性能产生实际影响,这就是为什么本文前面没有提到这一更改的原因随着 WordPress 核心和生态系统开始采用 API(例如,延迟块视图脚本和异步评论回复),预计将来我们也将看到它的显着性能改进。请阅读6.3 有关使用 async 和 defer 注册脚本的开发说明,了解有关如何作为开发人员利用 API 以及相对于直接操作脚本标记的方法的优势的更多信息。有关此更改的更多背景信息,请参阅#12009

服务器端性能

虽然 6.3 中的服务器端性能改进总体上并没有带来那么多的性能提升,但该版本仍然包含一些显着的增强功能,特别是对于块主题,其中服务器响应时间加快了 19%。许多服务器端性能增强都是优化 WordPress 核心内部低级逻辑的结果。虽然这使得这些改​​进很难单独描述,但这意味着它们不需要在 WordPress 生态系统中进行任何采用或修改即可生效。

块主题最显着的性能增强之一是低级更改,它优化了 WordPress 核心块样式的注册方式。这是相关的,因为核心块样式的处理方式与自定义块的处理方式略有不同。然而,在 6.3 之前,所有块都使用相同的通用逻辑,其中包括相当多的灵活性,因此也有性能成本,这对于核心块来说是不必要的。这一变化引入了一个专用函数来以更有效的方式注册核心块样式。

块主题性能的另一个重大胜利是功能的改进get_block_templates()。该函数中的逻辑经过优化,不再处理所有块模板,而仅处理那些与当前查询匹配的块模板。

对块主题经典主题具有显着性能影响的最大变化是函数中的性能优化wp_maybe_inline_styles(),避免不必要地调用相对昂贵的函数来获取样式表文件的大小和内容。

数据库性能

WordPress 6.3 对延迟加载元数据进行了多项增强,可以避免某些情况下的数据库查询。

关于所使用的基准的说明

虽然本文中共享的指标基于使用 WordPress 6.2 所用相同方法进行的基准测试,但任何基准测试都需要进行细微差别的解释:除了用于基准测试的 WordPress 网站的配置方式之外,基准测试在很大程度上取决于为了获得额外的参考点,一些不同的贡献者还基于该版本的稍早版本 6.3 RC1 进行并分享了他们的基准测试。所有基准测试结果均汇总在此电子表格中。

可以注意到,其他一些基准测试并没有看到突出显示的基准测试中注意到的那么高的改进(就上下文而言,这些基准测试是在作者的机器上运行的),但主要的结论是整体性能显着提升。目前,将重点放在性能基准上并使用本文中突出显示的数字是有意义的,以便与上述6.2 性能改进帖子中的数字保持一致,因为性能基准也使用相同的环境。对于相对改进不那么高的任何其他贡献者的基准测试,可以假设其环境中的 6.2 性能基准测试也会显示出同等较低的性能提升。

虽然这意味着我们无法得到 WordPress 6.3 到底快了多少的明确答案,但可以肯定地说,它比 6.2 快很多,而且相对而言,性能提升甚至比 6.2 和 6.1 之间还要高。

自动化基准测试工作流程

引用的一些基准测试是使用@swissspidy最近实施的新的可重用自动化基准测试工作流程进行的,使用与手动基准测试相同的方法,但使用GitHub Actions。这些结果表明,由于使用相同的环境,使用此工作流程总体上可以获得更一致的结果,并且还减少了进行性能基准测试所需的工作量。将来,依赖该工作流程中的数字而不是来自特定贡献者的任意环境的数字可能是一个好主意。作为参考,自动化工作流程数字大致表明了 WordPress 6.3 与 6.2 相比的以下性能改进:

  • LCP 对于块主题快 10.6%,对于经典主题快 8.8%。
  • TTFB 对于块主题快 4.7%,对于经典主题快 5.6%。
  • LCP-TTFB 对于块主题快 13.4%,对于经典主题快 9.3%。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么这么设计—— Go的GC

Go语言采用了3色标记清理法来对内存进行自动垃圾回收, 过程是这样的: (1)起初所有的对象都是白色的; (2)从根对象出发扫描所有可达对象,标记为灰色,放入待处理队列&…

Java GUI,mybatis实现资产管理系统

Java GUI——资产管理系统 前言:为了做java课设,学了一手Java GUI。感觉蛮有意思的,写写文章,做个视频记录一下。欢迎大家友善指出我的不足 资产管理系统录制视频,从头敲到尾 模块划分 资产信息管理 资产信息查询 …

Vue实现详细界面里面有一个列表

目录 Vue实现详细界面里面有一个列表 理一下思路: 效果如下: 1、 主页面正常写 2、详细界面(重点) 3、详细界面里面的列表(重点) 要点: Vue实现详细界面里面有一个列表 理一下思路: 1、首先需要这条数据的主键id&#xff…

CAD练习——绘制电风扇

注意要在三维空间内完成绘制 先绘制扇叶 两条射线确定角度 绘制圆弧(圆修剪) 绘制扇叶形状(3点圆弧) 圆角: 将这几段圆弧合成同一条多段线 换个立体视图 拉伸出厚度 绘制一个球 取二者交集(带弧面的扇叶&a…

每日一题 34在排序数组中查找元素的第一个和最后一个位置(二分查找)

题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&…

【博客698】为什么当linux作为router使用时,安装docker后流量转发失败

为什么当linux作为router使用时,安装docker后流量转发失败 场景 当一台linux机器作为其它服务器的router,负责转发流量的时候,让你在linux上安装docker之后,就会出现流量都被drop掉了 原因 没装docker之前: [root~]…

201、仿真-基于51单片机PT100测温设计铂电阻温度计设计Proteus仿真(程序+Proteus仿真+原理图+流程图+元器件清单+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、设计功能 二、Proteus仿真图 三、原理图 四、程序源码 资料包括: 方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设…

Linux 基础(八)常用命令 - ps kill pstree top netstat crontab

ps & kill & pstree & top & netstat & crontab pskillpstreetopnetstatcrontab ps process status 查看进程状态 基本语法 以下分别是两种方式查看本地进程信息。 查看所有进程,父进程id ps -ef 查看所有进程,资源占用 ps aux […

Clion开发STM32之HAL库I2C封装(基础库)

前言 引用参考: Clion开发STM32之HAL库GPIO宏定义封装(最新版) 头文件 /*******************************************************************************Copyright (c) [scl]。保留所有权利。***********************************************************************…

excel将主信息和明细信息整理为多对多(每隔几行空白如何填充)

excel导出的数据是主信息和明细信息形式。 方法如下:1、首先,从第一个单元格开始选中要填充的数据区域。2、按CtrlG或者F5调出定位对话框,点击左下角的【定位条件】。3、在【定位条件】中选择【空值】,然后点击【确定】按钮。4、按照上述操作…

Nodejs+vue+elementui汽车租赁管理系统_1ma2x

语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 前端nodejsvueelementui, 课题主要分为三大模块:即管理员模块、用户模块和普通管理员模块,主要功能包括&#…

2000-2022年全国各地级市绿色金融指数数据

2000-2022年全国各地级市绿色金融指数数据 1、时间:2000-2022年 2、来源:来源:统计局、科技部、中国人民银行等权威机构网站及各种权威统计年鉴,包括全国及各省市统计年鉴、环境状况公报及一些专业统计年鉴,如 《中国…

ip转换器哪个好用 ip地址切换器有哪些

在互联网时代,IP转换器成为了实现高效工作的常见工具。而如今,市面上涌现出了众多的IP转换器软件,使得用户在选择时感到困惑。本文将介绍一种深度IP转换器软件,探讨其特点和优势,以及与其他软件相比的差异,…

DIP: NAS(Neural Architecture Search)论文阅读与总结(双份快乐)

文章地址: NAS-DIP: Learning Deep Image Prior with Neural Architecture SearchNeural Architecture Search for Deep Image Prior 参考博客:https://zhuanlan.zhihu.com/p/599390720 文章目录 NAS-DIP: Learning Deep Image Prior with Neural Architecture Search1. 方法…

2023 年牛客多校第七场题解

A Random Addition 题意:给定长度为 n n n 的数列,初始全为 0 0 0。对其中 m m m 个区间 [ l i , r i ] [l_i,r_i] [li​,ri​] 执行加 x x x 操作, x x x 等概率从 [ 0 , 1 ] [0,1] [0,1] 实数集合选取。这些区间包含或不相交。 q q …

PhotoShop学习笔记

PhotoShop学习笔记 对图像进行缩放拉伸自动选中像素相近的同一个区域分离图层的选中区域分离图层的非选中区域处理不自然的缝合痕迹 记录一些PhotoShop中用到的操作,主要是在处理AI图像时遇到的需求。 对图像进行缩放拉伸 CTRLT 自动选中像素相近的同一个区域 魔…

Easys Excel的表格导入(读)导出(写)-----java

一,EasyExcel官网: 可以学习一些新知识: EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 二,为什么要使用easyexcle excel的一些优点和缺点 java解析excel的框架有很多 : poi jxl,存在问题:非常的消耗内存, easyexcel 我们…

获取历史dokcer镜像项目,并上传gitlab,再打包镜像管理

今天遇到一个问题: 发现一个部署在Jenkins的脚本用的docker镜像是:test_project:v20191108,即这个项目是19年的一个版本,由于代码不断更新,用现在的最新代码运行该脚本,可能不能运行了,必须用19…

Linux 基础(七)常用命令 - 磁盘分区命令

磁盘分区命令 磁盘相关命令dudffreetree 分区相关命令查看设备挂载明细挂载/卸载 分区挂载卸载持久挂载 分区查看当前分区详情对硬盘分区分区为新分区构建文件系统给新分区挂载一个目录 常见文件系统类型 磁盘相关命令 du 查看目录或者文件占用;默认会递归查询子目…

基于扩频的数字视频水印嵌入和检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ................................................................. for j 1:length(attens…