Magento使用csv数据流导入客户(700k)太慢了

时间:2014-10-08 14:58:34

标签: mysql web-services api magento csv

我正在建立一个Magento电子商务网站,并从旧网站导入客户资料。我正在使用CSV导入程序,这个过程比我想象的要慢。一个客户只需4秒钟。到目前为止,该过程已经运行了6个多小时,只有3万客户进口。 CSV文件被分成几个~10M的小文件。

目前,我正在使用Amazon Web Services EC2实例(微型)用于开发服务器。它有1个vCPU(2.5GHz)和1GiB内存。但我不认为这可能是一个问题。我将php内存限制增加到1G。

我读过一篇文章说由于Magento的EAV数据库系统和繁重的PHP API模块[Speeding up Magento Imports],导入产品的速度问题非常普遍。它说Magento发送450个MySQL查询以导入一个产品。我还看到了使用[Magmi]的解决方法,它试图绕过Magento的API并将数据直接插入MySQL表。然而,AFAIK似乎并不会导入客户,而只会导致产品和类别。我不知道他们(产品和客户)是否使用相同的机制。

我禁用了缓存管理,并将索引管理选项设置为“手动更新”。虽然客户档案并不真正使用这些流程。

您是否有任何建议可以提高此CSV导入速度?

[后续]

我找到了一个问题来源,Amazon EC2 T2实例。他们使用CPU Credits来控制最大CPU使用率。对于微实例,基本CPU性能限制为其容量的10%。我使用了所有的CPU积分,服务器也不允许我使用完整的CPU。

我刚刚检查了导入性能,并且每秒导入大约2条记录。我认为这仍然太慢,所以我会等待更多其他解决方案。也许是优化?

2 个答案:

答案 0 :(得分:1)

忘记Magmi,忘掉Dataflow。这是最好的做法magento方式...

使用这个:

https://github.com/avstudnitz/AvS_FastSimpleImport

您可以使用任何数组导入实体产品和客户

答案 1 :(得分:0)

如果您需要通过csv import更新现有产品,则只包括要使用SKU更新的列。是的,sku需要列,然后您可以包含要更新产品属性的列。 它进口产品的速度如此之快!!!!