使用Laravel-Excel导入巨大的Excel文件时出现内存问题

时间:2019-04-18 10:53:19

标签: php laravel laravel-excel

Am使用Laravel Excel 3.1导入具有大约800,000条记录的巨大excel文件。 导入进展顺利,但耗尽了内存。 我的情况: 我正在使用shouldQueue,1000的chunkReading和1000的BatchInserts在一起,但是随着随后的每个队列,内存使用量一直在增长,直到整个服务器关闭 我有一个带有40GB RAM的64核服务器 如果我每分钟重新启动队列,则内存似乎处于检查状态。是否有正确的解决方法来确保每个队列在完成后都释放文件? 可能与此https://github.com/Maatwebsite/Laravel-Excel/issues/1391有关,尽管这可以解决laravel excel V2的问题。

1 个答案:

答案 0 :(得分:0)

这可能是内存问题,但您有40 GB的内存。您可以尝试使用PHP或其他语言的pthread或Python等pthread进行多线程并行处理。我添加了一个问题链接可能对您有用。

Importing large CSV files in MySQL using Laravel