php - 在 WordPress 数据库中添加超过 15K 项而不会使服务器不堪重负?

标签 php mysql ajax wordpress guzzle

我们使用 GuzzleHTTP 和 AWS 服务器上托管的其他相关库创建了一个爬网程序,该库可以爬网并为我们提供来自 1 个站点的大约 5,000 种产品,我们总共有 4 个站点,因此项目数量达到大约 15k+。

现在爬网程序工作正常,我们能够在一小时内爬网所有网站并构建 JSON 文件。

然后,我们将这些 JSON 文件中的数据导出到 WordPress DB,其中项目是帖子,任何其他数据是 post_meta、术语和分类法。我们现在正在使用 WP Ajax Hook 、过滤器和循环(当然)来完成此操作。

但是导出需要花费大量时间,并且服务器超时的可能性非常高,因为通常 Apache 服务器不应该承担这样的负载。

我们需要知道实现这一目标的最佳方法。

  1. 我们是否在 AWS 本身上创建数据库并以某种方式将其连接到 WordPress?如果是,那么我们将如何管理自定义帖子及其元和术语之间的关系。就像我们在托管 WordPress 的服务器上添加数据一样,我们可以使用 WordPress 功能来创建帖子并相应地关联数据。

  2. 我们是否在 WordPress 服务器端运行 CRON 作业并为服务器提供更多功能,以便不存在超时问题。我们位于 Site Ground 的服务器上。

  3. 或者有更好的方法吗?

如有任何帮助,我们将不胜感激。

谢谢!

最佳答案

根据我的经验,我在 wordpress/woocommerce 上创建了超过 50,000 个产品。

我第一次使用 woo commerce API 从外部服务器创建产品,这很容易做到,但需要很多时间。这是文档 [http://woocommerce.github.io/woocommerce-rest-api-docs/#introduction][1]

对我来说最好的方法是使用 WordPress hooks,它比 api 更快。可以将超时设置为-1,就不再显示了。

在我看来,wordpress 并不是处理海量数据的最佳选择。

祝你好运

关于php - 在 WordPress 数据库中添加超过 15K 项而不会使服务器不堪重负?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53411196/

相关文章:

php - 找不到 Laravel 命名空间类

mysql - mysql中如何连接名字

java - 从 MySql 表生成 DAO 的 Pojo 和 JSP 的工具/Eclipse 插件?

javascript - 我应该等待 ajax 完成重定向页面吗?

ajax - wysihtml5 - 设置值不起作用,因为 'sandbox iframe isn' 还没有加载'

php - MySQL - 如何在选择顶部后选择随机?

php - 谁能告诉我如何在使用跟踪像素时消除跨源读取阻塞 (CORB) 错误?

php - 如果没有 ajax readystate() 中的 alert(),循环将无法工作

php - 真正简单的 PHP/PDO 插入不起作用?

php - Symfony 检查数据库中是否存在用户