Wordpress REST API 慢响应时间

2022-08-30 16:11:16

我对WordPress REST API的速度有问题。我试图做的是尽快获取总共约26k条记录的报告数据,以便为用户提供流畅的用户体验。我遇到的问题是,当调用REST API时,WordPress似乎会加载核心,插件和主题。

Table

我已经用尽了我知道的优化代码的方法,是否有一些WordPress调整,任何人都知道可以提高速度?这些结果对于使用 REST API 的人来说是否正常?正如你所看到的,运行我的代码的时间不是问题,但WordPress开销是问题。


答案 1

概述:因此,问题是WordPress自4.8版本以来的限制。WordPress旨在加载插件和主题以及每个REST API请求的所有核心。这是响应时间慢的原因。

解决方案:当前唯一的解决方案是对插件中文件的ajax调用,并且仅加载WordPress核心的一部分。下面的代码是直接文件访问,同时仍然能够使用具有快速响应时间的WordPress功能。

//Tell WordPress to only load the basics
define('SHORTINIT',1);

//get path of wp-load.php and load it
require_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';

// register global database
global $wpdb;

// return data selected from DB to user

结果:响应时间降至 100 毫秒。这是从1069ms到108ms的巨大差异。

参考资料https://deliciousbrains.com/wordpress-rest-api-vs-custom-request-handlers/

最后注意:Wordpress REST API非常新,非常强大,您应该在响应时间不是问题的大多数情况下使用。


答案 2

如果响应时间对你的应用程序至关重要,并且你不介意花费时间和精力,我建议你创建自己的入口点来检索你需要的数据。以下文章说明了此方法的基线:https://medium.com/@yairlevy/wp-rest-api-too-slow-2da859f3cc93


推荐