【发布时间】:2020-09-03 19:31:19
【问题描述】:
我正在分析/故障排除一个自定义 WordPress 插件,该插件是为一个客户端开发的,该插件实现了 REST API 以与第三方提供商一起使用。其中一项要求是在 1 秒内执行所有 API 调用。
目前该插件提供注册 2 条路线:“获取用户”和“创建用户”。为了使这个问题简单,我将专注于第一条路线,因为它更简单。
“获取用户”的平均执行时间约为 0.5 秒,但第一次调用总是需要更多时间,最多 5 秒。所有进一步的调用始终在 ~0.5 秒范围内。如果 API 大约 1 分钟未使用,则下一次第一次调用再次需要 5 秒才能完成。
这让我相信在有限的时间段(~1 秒)内有某种缓存可用,或者托管(SiteGround)/数据库有睡眠策略,但我无法确认。为了找出答案,我确实创建了一个自定义的普通 PHP 脚本,它模仿了与“获取用户”相同的功能,平均响应时间约为 0.15 秒,但第一次调用的时间也超过平均水平:~0.6 秒。
对于我们的案例,自定义脚本可能是一种可能的解决方案,但我们首先想尽一切可能使 WordPress 插件 + REST API 在可能的情况下在不到 1 秒的时间内工作。
- 似乎在使用 REST API 时,会根据 2016 年的 blog 加载一堆 WP 文件。现在这仍然适用于 WordPress 5.5 吗?
- 第一次调用需要更多时间的确切原因是什么?以及如何优化它以供进一步调用?
【问题讨论】:
标签: wordpress wordpress-rest-api