WordPress 所处主机到数据库主机的往返时延显著影响页面加载时间。请看下面的实验:

WordPress 服务器信息

非独立数据库

数据库和 WordPress在同一个服务器上。

单个查询耗时极低。

独立数据库,同一地域

数据库使用独立的 b1ms mysql 服务器,也位于 Azure 东亚大区(香港),但是和 WP 主机不在一个可用性区域(也就是不在同一个机房)。

可用性区域的解释见:https://blog.baldcoder.top/articles/azure-guide-3-azure-database-for-mysql-flexible-servers/#%E5%9F%BA%E6%9C%AC

单个查询耗时约 2 毫秒左右,符合微软文档的可用性区域间延迟的描述。

独立数据库,不同地域

数据库使用独立的 b1ms mysql 服务器,位于 Azure 东南亚大区(新加坡)。

加载时间和延迟非常可观。

单个查询延迟大约 36 毫秒。

结论

通过以上对比,可以得出以下结论:

  1. WordPress 数据库查询近乎是串行,因此单次查询时延的增加能显著影响网站加载速度;
  2. 除非你的网站很大或者访问量很多,原本的主机经常满载,或者有负载均衡、镜像站等需求,否则不要吃饱没事干把 WordPress 数据库迁移到独立服务器上;
  3. 如果真的有迁移到独立数据库服务器的需求,延迟(物理距离)越低越好。

除了减少时延(对于使用独立服务器),还可以减少查询次数:


封面图:https://pixiv.net/artworks/43203044