Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Magento有250000种分组产品_Magento_Magento 1.7 - Fatal编程技术网

在Magento有250000种分组产品

在Magento有250000种分组产品,magento,magento-1.7,Magento,Magento 1.7,我已经开始在一家新的Magento网店工作,它有大约250000种不同的产品。每种产品可能有不同的情况(新的、使用过的、损坏的等,每种都有自己的价格)。Magento目前似乎没有实现这一点的方法。在这250000种产品中,大约有150000种不同的条件在库存中,另外150000种条件没有库存,但有价格(可以放在愿望清单上) 一些数字:1500个类别,具有>300个选项的下拉属性(国家),整数属性(年份)。从两个网站开始,每个网站有6种语言 我想出了两种解决这个问题的方法: 分组/简单产品结构 我

我已经开始在一家新的Magento网店工作,它有大约250000种不同的产品。每种产品可能有不同的情况(新的、使用过的、损坏的等,每种都有自己的价格)。Magento目前似乎没有实现这一点的方法。在这250000种产品中,大约有150000种不同的条件在库存中,另外150000种条件没有库存,但有价格(可以放在愿望清单上)

一些数字:1500个类别,具有>300个选项的下拉属性(国家),整数属性(年份)。从两个网站开始,每个网站有6种语言

我想出了两种解决这个问题的方法:

分组/简单产品结构 我们创建一个分组产品,即容器产品,每个条件将是一个不同的简单产品。我们将这些产品与分组产品关联

这个解决方案的优点是非常容易实现,我们必须以正确的方式导入数据,并且所有信息都以我们想要的方式呈现

新产品类型 我们创建了一个新的产品类型,它可以有多个条件,每个条件都有自己的库存。结帐时,将减去存货。这样做的问题是,以这种方式实现CatalogInventory模型可能很困难,而且构建一个完整的产品类型通常很耗时,而且容易出错

此解决方案的优势在于,系统中的产品将减少约2-2.5倍

其他 还有其他的解决办法吗?也许有一个模块可以完成这一切


总结:当然我更喜欢第一种解决方案,但Magento能处理吗?有人有过这么多分组产品的经验吗?系统将有大约550000个产品(分组+简单)在系统中,这将对性能产生什么影响?如果站点增长,我们的产品数量将增加一倍,会发生什么情况?

在不了解更多细节的情况下,我倾向于使用新的产品类型,或者如果您使用可配置的产品(我绝对不会尝试复制可配置的产品类型),只添加独立于产品类型的功能。我会禁用库存管理,并使用一些额外的表,这些表保存具有每项条件的单个项目库存,并以这种方式维护一个单独的库存。根据需要,使用事件和覆盖控制目录库存状态。如果这是一项需要扩展的长期努力,那么不断地创造大量重复的新产品似乎是一个值得避免的麻烦


然而,如果项目处于早期阶段且无法承担巨额初始支出,分组/简单方法可能是可行的短期解决方案,并且是合适的。如果计划得当,脚本应该能够在准备发布时将所有旧的分组/简单产品转换为新的产品类型。

那么多的产品和那么多的关系会导致性能瓶颈。具体情况无法预测。在没有Magento天赋的情况下,不要继续进行,以帮助您扩展此功能。您正进入一个值得从头开始编写定制软件的领域。(另外,听起来你在使用分组产品作为可配置产品-为什么不使用可配置产品?)我创建了一个小测试,看看Magento是否能够处理250000个分组产品,并且运行得似乎很好(在我的本地机器上:3秒未缓存,0,5秒命中查询缓存)。Magento中的性能瓶颈似乎是获取每个页面的集合总数。我没有在负载下进行测试,但是使用适当的缓存目录页面不会对数据库造成巨大的影响。不过我不知道这种关系的影响。我不是一个从零开始编写这样一个电子商务解决方案的开发人员。业务正在大幅增长,因此对可扩展平台的需求每月都在增加。-我们正从编程转向业务,但在这么多产品的规模下,你会看到很多小失败,特别是如果你拉关系的话。解决特定程序的现成软件没有市场。这是一种定制软件,无论您是自己内部开发还是与合作伙伴合作开发。您可以使用newrelic.com来查看您在加载时遇到的问题,并相应地进行扩展。您可以使用Magmi进行批量上载,但其运行速度要比数据流快得多。但是,您应该有一个非常好的csv文件进行导入。