如何在PHP中优化多个CURL get请求的速度?

时间:2016-06-29 07:31:36

标签: php api laravel curl optimization

我通过CURL GET使用PHP连接到API,并且我收到了一个包含近5000个订单的json。对于每个订单,我进行另一个CURL GET并接收订单详细信息(基本上是2个foreach)。之后,我用LARAVEL在数据库中进行了一些插入和更新(基本的东西)。

最大的问题是,对于那5000个订单,我的加载时间差不多是一个小时。我每天晚上需要一个cron(超过5000)。

我有一个2GB内存和2个CoreProcessor的云解决方案。

我也尝试过Zebra Curl但是在curl请求中不能使用curl。

1 个答案:

答案 0 :(得分:0)

如果每天工作的2%(50个组织中的1个)占用一天的近4%,那么您肯定需要并行处理。

有几种解决方案:

  • 为每个组织运行一个cron作业。
  • 多个公司的多个公司的流程条目。
  • 使用多台服务器。

我可能会使用第一个:您可以进行一次cron作业检查(每分钟?)哪些组织仍然需要处理,目前正在处理哪些组织,如果有剩余则选择一个。

这样每项工作仍然需要1小时,但所有工作都会在每晚2小时的时间内完成。