【发布时间】:2018-01-07 09:14:45
【问题描述】:
我对 WordPress REST API 的速度有疑问。我正在尝试做的是尽可能快地获取总共大约 26k 条记录的报告数据,以便为用户提供流畅的用户体验。我遇到的问题是,当调用 REST API 时,WordPress 似乎加载了核心、插件和主题。
我已经用尽了优化代码的方法,有没有人知道的一些 WordPress 调整来提高速度?对于使用 REST API 的人来说,这些结果是否正常?如您所见,运行我的代码的时间不是问题,而是 WordPress 开销。
【问题讨论】:
-
26k 条记录听起来很多。为什么需要这么多?
-
嗨,Jim,它是报告系统的一部分,用于报告我公司的某个插件的数据。我们不会一次获得所有 26k 记录,并且我们确实内置了分页系统。我使用 26k 记录作为一个点来表明请求所花费的时间主要不是我的代码请求但是 WordPress 的代码。即使我没有抓取任何记录并返回 null,请求时间仍然会非常高,在启用所有插件并将主题设置为 DIVI 的情况下进行快速测试,我得到的响应时间为 1130 毫秒。
-
据我所知,REST API 通过 Wordpress 重写过程,这就是加载整个主题和插件的原因。在 Ajax 调用中,您可以在包含 wp-load.php 之前定义('SHORTINIT',1),但使用 REST 我从未找到任何类似的选项。
-
感谢您的帮助,我最终对仅加载部分 WordPress 核心的文件进行了 ajax 调用
-
您可以尝试的另一件事是禁用 Wordpress WP-Cron:developer.wordpress.org/plugins/cron