84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我已经设置了 Laravel 队列来使用您的 Laravel excel 读取 excel 文件,它非常适合小文件。
但是对于大文件(100+mb)和400k+记录,需要花费太多时间并且消耗服务器的近40GB RAM。
我已经设置了一个主管来运行队列:工作命令。我的服务器内存是 60GB。 对于小文件,一切正常,但对于大文件则不起作用。
我还使用望远镜检查了查询时间,但没有查询花费很长时间。
目前,您的问题还没有直接的答案。这很大程度上取决于您的目标结果。您必须设计自己的方法来解决它。
我最关心的一件事就是对大型 excel 文件进行分块或分区,并将它们送入队列。也许你可以利用 Laravel 作业批处理。
您可以引入的另一件事是微服务系统,其中这些繁重的任务将由另一台更好的机器来完成。
但是就像我说的,对于这样的问题没有单一的解决方案。这些都得你自己计算找出来。
对于所有面临此类问题的人,我建议使用 Spout。它的作用就像魅力一样。为此我尝试了 3 个 PHP 服务,最后只有 spout 有效。
https://opensource.box.com/spout/
https://github.com/box/spout
目前,您的问题还没有直接的答案。这很大程度上取决于您的目标结果。您必须设计自己的方法来解决它。
我最关心的一件事就是对大型 excel 文件进行分块或分区,并将它们送入队列。也许你可以利用 Laravel 作业批处理。
您可以引入的另一件事是微服务系统,其中这些繁重的任务将由另一台更好的机器来完成。
但是就像我说的,对于这样的问题没有单一的解决方案。这些都得你自己计算找出来。
对于所有面临此类问题的人,我建议使用 Spout。它的作用就像魅力一样。为此我尝试了 3 个 PHP 服务,最后只有 spout 有效。
https://opensource.box.com/spout/
https://github.com/box/spout