WordPress 7.0 延期至5月20日发布,RTC存储方案测试进行中
WordPress 7.0 正式版发布日期已从原定的4月9日推迟至5月20日。发布协调员 Amy Kamala 于4月22日在 Make WordPress Core 博客上公布了更新后的时间表:新一轮测试版(RC3)定于5月8日发布,候选版(RC4)定于5月14日,最终版本于5月20日上线。
“感谢大家在这几周的灵活配合,全球 WordPress 贡献者一直在为7.0版本中必要的架构改进不知疲倦地工作。”——Amy Kamala
为何延期:实时协作的缓存失效问题
7.0 是首个内置实时协作(RTC)功能的版本。延期源于 WordPress 联合创始人 Matt Mullenweg 在3月底呼吁「回归测试版」,以留出更多时间解决 RTC 中发现的缓存失效问题。
Mullenweg 预计将在收到各主机商的测试结果后,就7.0最终采用哪套存储方案做出裁决。

四种存储方案正在接受基准测试
Bluehost 赞助的核心提交者 Jonathan Desrosiers 正在主导一轮分布式性能测试,目标是找出最适合 RTC 的数据存储架构。当前共有四种方案在对比:
| 方案 | 实现方式 | 初步效果 |
|---|---|---|
| 预发布版 | 将 awareness 和更新均存入 wp_postmeta |
约4000条 SQL/2分钟 |
| 自定义数据库表 | 新增专用 wp_collaboration 表 |
减少67%查询量 |
| Transients 方案 | 将 awareness 存入对象缓存 | 减少80%查询量 |
| 混合方案 | 表存储更新与同步,缓存存储 awareness | 尚未基准测试 |
什么是 Awareness? 记录当前正在编辑同一篇文章的其他用户信息——包括在线状态、光标位置和选区范围。由于每个轮询周期都要读写这些数据,awareness 已成为 RTC 性能的核心瓶颈。
这些数据来自 WordPress.com 在 Jurassic Ninja 沙箱上对两个浏览器标签页同时协作编辑约2分钟采集的查询日志。
混合方案由 Fuelver 赞助的核心提交者 Peter Wilson 于上周日提出,思路是在有持久对象缓存时优先使用缓存,缓存不可用时回退到自定义表,更新与同步数据则始终写入自定义表。Wilson 表示希望系统工程师或 DBA 对表结构提出反馈。
测试脚本基于 Automattic 工程师 Max Schmeling(PHP 端)和 Alec Geatches(Node.js 端)的协作成果,现已整合至 distributed-rtc-performance-testing 仓库,可一键对比全部四种方案。

主机厂商已陆续参与测试
测试并非纸上谈兵,多家主机商已实际参与:
- WordPress.com:在其共享基础设施的全部站点上启用了 RTC
- GoDaddy:贡献者已提供早期反馈,帮助改进了测试脚本的兼容性
Desrosiers 强调,不应将7.0发布与 WordCamp Europe(6月4—6日,波兰克拉科夫)挂钩,以免复杂化发布流程——WCEU 贡献日可作为 WordPress 7.1 的跳板。5月28日作为备选发布日也因与宗教节日冲突而被否决。
最终方案落地之前,7.0 的时间表仍可能根据主机反馈进行最后调整。
