性能聊天摘要:2023年3月14日
公告
正如上周聊天中达成的一致意见,本周我们将遵循以下新的议程结构,该结构与我们的 2023年路线图 在每次优先项目更新期间,我们的目标是 标签 标签 Subversion中的目录。 WordPress使用标签来存储版本(3.6、3.6.1等)的单个快照,这是版本控制系统中标签的常见约定。 (不要与帖子标签混淆。) 为2023年路线图中的优先项目提供建议的个人,以获取进展情况的任何更新
优先项目
服务器响应时间
@ 乔麦吉尔 经过一周的自行车事故恢复后,我重新开始收集最近一次事故的分析数据 发布候选 发布候选 作为版本发布周期的最后阶段之一,该版本向公众发出了最终发布的信号。 另请参见 α(β) . 。我希望本周能完成这项工作,并为6.3周期提供一些新思路 @ spacedmonkey(空格键) 坚信的: https://github.com/WordPress/WordPress-develop/commit/2724a495afb2f7c60d4b2c6b9158c4c82973fb58 https://github.com/WordPress/WordPress-develop/commit/befb493339512a862a61c16a8a92b5745ee6a109 https://github.com/WordPress/WordPress-develop/commit/4af22e53d71c23403de49479c2dfe31dd0ba0c05 https://github.com/WordPress/WordPress-develop/commit/82cd43419448c343cc3df41f6e37c6185e480038 https://github.com/WordPress/WordPress-develop/commit/c421c7ead6c72ebb448c7a21f6bef3acfab6a92 https://github.com/WordPress/WordPress-develop/commit/dbbc9bcf98787fd77fd920df84cc9bbc69974b0a
@ 空格键 要求的代码审查: 修复了小部件中的引导脚本减慢引导速度的问题 https://github.com/WordPress/WordPress-develop/pull/4170 改进了日期函数的查询和使用。 https://github.com/WordPress/WordPress-develop/pull/4230 跟踪性能 回归,回归 回归,回归 破坏或降级以前工作过的东西的软件错误。 回归通常被视为关键错误或 拦截器 最近的回归可能会得到更高的优先级。 “3.6回归”将是3.6中的一个错误,它在3.5中起到了预期的作用。 第6.2节 钢筋混凝土 发布候选 作为版本发布周期的最后阶段之一,该版本向公众发出了最终发布的信号。 另请参见 α(β) . https://github.com/WordPress/WordPress-develop/pull/4235
@ spacedmonkey(空格键) 还致力于 https://core.trac.wordpress.org/ticket/57814
数据库优化
@ 奥利琼斯 SQLite数据库集成工作仍在继续。 许多微小的细节将一种不规则的SQL语法音译为另一种。 没有什么大的报告。
JavaScript脚本 JavaScript脚本 JavaScript或JS是一种面向对象的计算机编程语言,常用于在web浏览器中创建交互效果。 WordPress广泛使用JS以获得更好的用户体验。 当PHP在服务器上执行时,JS在用户的浏览器中执行。 https://www.javascript.com/ . & CSS公司 CSS公司 级联样式表。
@ 10个upsimon 我们正在处理与处理内联脚本相关的一些最终实现细节方面取得进展,并对其他项目如何已经实现异步/延迟进行一些内部测试和研究,以寻找可能的冲突。 几周后我们应该有一些东西可以分享。 同时,我们非常感谢您提供的手动添加async/defer的项目示例,这样我们就可以对照我们的方法进行检查。
图像
@ 弗利克索斯90 上周,我一直在研究WordPress网站中延迟加载的LCP图像的剩余问题,今天将继续这样做。 我在用 超文本传输协议 超文本传输协议 HTTP是超文本传输协议的缩写。 HTTP是万维网使用的底层协议,该协议定义了消息的格式和传输方式,以及Web服务器和浏览器应对各种命令应采取的操作。 存档以确定最常见的问题,并查看特定站点的样本以进一步挖掘 @ 弗利克索斯90 注意到这项工作有望带来的改进将有利于 fetchpriority=“高” 也能工作 @ 亚当西尔弗斯坦 我的快速更新:在 WordCamp公司 WordCamp公司 WordCamps是一种非正式的、本地组织的会议,涵盖与WordPress相关的所有内容。 他们是WordPress社区聚集在一起的地方之一,在这里,他们可以互相传授一年来学到的知识,并分享快乐。 了解更多信息 . 几周前,我在亚洲运行了一个“图像比较游戏”,用户从两个图像中选择(在不同压缩级别的WordPress和WebP或JPEG中生成),试图判断哪一个更接近原始图像。 我们登记了大约50个“选项”,数量不多,但无论如何,我计划本周分析这些数据,下周应该会有一些结果与大家分享。
测量
@ 克拉克米利 我们确实有“自动性能测试已被提交给WP 核心 核心 核心是运行WordPress所需的一组软件。 核心开发团队构建WordPress。 回购 https://core.trac.wordpress.org/changeset/55459 '上周突出显示 @ 乔麦吉尔 我们现在成功地获得了每个提交到核心的自动性能数据,这是一个很酷的里程碑。 我希望随着时间的推移,我们将继续改进这些功能,但这是一个很好的起点。
生态系统工具
@ 乔格林格 我们计划完成 插件 插件 插件是一个包含一组功能的软件,可以添加到WordPress网站。 他们可以扩展功能或为WordPress网站添加新功能。 WordPress插件是用PHP编程语言编写的,并与WordPress无缝集成。 这些可以在WordPress.org插件目录中免费 https://wordpress.org/插件/ 或者可以是第三方基于成本的插件 下周结束前检查。 一旦完成,我们将开始进行一些初步测试,并在进行额外检查之前审查基础设施。 可以在上看到进展 GitHub回购 这里。 请随意查看并在回购中留下您的想法/想法。
创建独立插件
@ 口香糖27 和 @ 10个upsimon 正在进行 里程碑1 创建独立插件的任务,我们将在本周末或下周初完成工程。 如果有人有时间,请在 https://github.com/WordPress/performance/lauls?q=is%3Apr +是%3Open+标签%3A%22正在创建+独立+插件%22 并分享反馈。 @ 弗利克索斯90 我已经审查了里程碑1中的一些现有PR,并将为 https://github.com/WordPress/performance/issues/667 今天
新项目/提案
不适用
开放式地板
@ spacedmonkey(空格键) 我们可以谈谈这个吗?” 探索和评估6.2服务器端性能回归 ‘ https://core.trac.wordpress.org/ticket/57916 @ 弗利克索斯90 很高兴回答关于我收集的数据的任何问题 @ spacedmonkey(空格键) 做一些研究,realpath似乎占用了很多资源 @ 弗利克索斯90 是 realpath() 使用6.2中介绍的内容? @ spacedmonkey(空格键) 没有,但我认为情况变得更糟了。 @ 乔姆吉尔 在考虑了最初的问题之后,我想知道是什么 @ 弗利克索斯90 观察到的主要副作用是在应用程序生命周期中移动东西,这意味着在init上会触发更多回调,但总的响应时间仍比6.1.X有所改进。 @ 弗利克索斯90 经典主题的总响应时间实际上在6.2比6.1差 @ 乔麦吉尔 但这并不是我在我们的自动化测试中看到的。 @ spacedmonkey(空格键) 这可能与此相关– https://github.com/WordPress/WordPress-develop/commit/6d0a691b84d411813378f1983a0a87bf78a1ccad @ 弗利克索斯90 是的,我在之前的测试中也没有看到。 然而,我一直看到的是 初始化 比6.1中的速度慢 @ 弗利克索斯90 FWIW,自动化测试正在运行核心 大旅行箱 . 我一直在进行的测试是使用Beta和RC的内置ZIP版本。 不确定这有多重要,但可能会有所不同 @ 乔麦吉尔 即使在 最新跑步记录 ,6.2似乎有所改进。 @ 弗利克索斯90 原则上,ZIP文件更接近于真实世界的体验,这就是为什么我一直在使用它们以及开发存储库 @ spacedmonkey(空格键) 我的测试运行 松弛的螺纹 @ 乔姆吉尔 应该从构建文件夹中构建Zip,这是自动化测试正在测试的内容 @ 弗利克索斯90 请求 @ spacedmonkey(空格键) 或 @ 乔麦吉尔 在您的机器上运行6.1.1生产ZIP和6.2-RC1 ZIP之间的比较? 只是为了验证一下,我的环境可能出了问题 @ 乔麦吉尔 很高兴在 贝塔 贝塔 一种预先发布的软件,分发给大量用户在真实条件下进行试用。 Beta版本已经在内部进行了alpha测试,通常在外观、感觉和功能上都与最终产品相当接近; 然而,设计更改经常作为过程的一部分发生。 测试程序插件今天晚些时候。 @ spacedmonkey(空格键) 我可能会尝试使用Local envorment和其他工具,看看是否可以重现 @ 约十亿美元 所有这些测试都使用主题吗 单元测试 单元测试 编写代码以测试大型应用程序中的一小段代码或功能。 从主题到WordPress核心都有一系列的单元测试。 另请参见 回归,回归 . 数据? @ spacedmonkey(空格键) 我使用Fakerpress生成模拟数据 @ 乔麦吉尔 自动化测试是。 不确定其他人是如何测试的。
@ 弗利克索斯90 通话正常 @ 约十亿美元 我自己的本地性能测试只使用了常规的WP内容(“Hello world”),没有添加任何内容。 我知道这不能代表真实世界的经验,但 @ 乔麦吉尔 和 @ spacedmonkey(空格键) 请尝试将其用于具体验证我所看到的结果 @ 乔麦吉尔 如果其他人能够对WP 6.1.1和6.2-RC1的总响应时间进行A/B比较,并共享有关该问题的数据,这肯定会有所帮助。 @ 空格键 Fakerpress非常适合从多个作者中生成帖子,添加评论、术语和用户。 @ 弗利克索斯90 总之,为了重现,我在这个环境中看到了局部回归: 在6.1.1和6.2-RC1之间 具有LocalWP的站点 使用TT1主题 使用Performance Lab插件进行服务器计时,未启用任何模块 除了干净的WP内核安装为您提供的内容外,网站上没有其他内容
另请参见 这张纸 了解更多详细信息。 @ 约十亿美元 你能用Felix的主题单元测试数据再次测试吗? 这样,我们就有了一组用于测试的统一数据 @ 弗利克索斯90 我当然可以。 尽管如此,我们仍然需要验证为什么我会看到带有默认内容的回归,所以如果其他人能够在他们的终端运行该回归,我将不胜感激 @ spacedmonkey(空格键) https://codex.wordpress.org/Theme_Unit_Test网站 @ 弗利克索斯90 最后但并非最不重要的一点是,我想在这里强调一些事情(我还试图在 票 票 为bug报告和bug跟踪器上的功能开发创建。 ): 无论WP 6.2是否快于6.1 初始化 速度较慢 对于经典主题而言,这一点比以往有所改善。 已经浮出水面了 全部的 我迄今为止完成的性能基准。 因此,虽然我们应该验证整体测试结果,但我们应该了解其中的情况 初始化 以及为什么它在6.2中变得更糟 @ 弗利克索斯90 请参见 https://docs.google.com/spreadsheets/d/1LroIJoYz-O9CpfJzaiKYYMWJ7GbE5RZoW1rf1R4FqyA/edit#gid=0 例如。 在我的新数据中 https://docs.google.com/spreadsheets/d/1LroIJoYz-O9CpfJzaiKYYMWJ7GbE5RZoW1rf1R4FqyA/edit#gid=1935935734 这一点更为明显(这也可能是因为我的设置出现了以前不存在的问题)。 如果您想在本地环境中获得更详细的服务器计时指标,可以使用 https://gist.github.com/felixantz/63c05392dbf7d51cc7f8f4a424b1ff39 例如 @ 乔麦吉尔 回到我最初的评论。 我很好奇,这是否是本次发布期间重构某些内容的副作用,这导致之前在其他地方发生的init回调需要做更多工作。 如果整体执行时间得到改善,那么我们在init上做的工作比以前更多,这可能是好的。 @ 弗利克索斯90 可能就是这种情况,在这种情况下,“回归”会很好。 但我们需要验证这一点 @ 乔麦吉尔 我认为在6.2和6.1中回顾一下init的挂钩并比较差异会很有帮助。 @ 弗利克索斯90 我做到了 https://docs.google.com/spreadsheets/d/1OCfHtty6__DZPkPeOrMTBJiPPH46Lwd1ADoffUA4bnE/edit#gid=879358988 @ spacedmonkey(空格键) 寄存器块类型来自元数据 -> 寄存器块脚本句柄 ->realpath。 寄存器块类型来自元数据 挂接到init @ 弗利克索斯90 所以我们需要检查这些函数的代码是如何更改的
@ 约十亿美元 关于与性能相关的一个核心问题,我简单地说一下:我一直在努力消除使用现成的 SQL_CALC_FOUND_ROWS数据库 在核心中,从它在中的使用开始 WP_查询 .PR此处: https://github.com/WordPress/WordPress-develop/pull/3863 这继续了几位老公关的工作。 有一些悬而未决的问题需要解决,如果我在接下来的几周内无法取得很大进展,我可能会向绩效团队中感兴趣的各方寻求帮助。 除此之外,对这一变化的关注越多越好! @ 弗利克索斯90 最后但同样重要的是:下周一将发布性能实验室插件2.1.0,因此我们需要准备一些PR @ 弗利克索斯90 我一直在为 对象缓存.php 兼容性问题,我将为其打开PR。 很高兴今天/明天能收到一些评论,这样我们就可以将其包含在2.1.0中