【问题标题】:Magento performance declines with addition of shopping cart price rulesMagento 性能随着购物车价格规则的增加而下降
【发布时间】:2012-01-22 20:41:14
【问题描述】:

购物车价格规则导致“添加到购物车”和“结帐”按钮显着变慢。

我发现这个问题在两个地方有两种不同的解决方案:

http://www.magentocommerce.com/answers/discussion/1997/Huge-performance-problem-with-shopping-cart-price-rules-in-large-volumes-3000-5000-coupons/p1

我通过创建 app/code/local/Mage/SalesRule/Model/Rule/Condition/Product.php 的本地副本来尝试上述方法 并重写验证器函数:

 public function validate(Varien_Object $object)
{
    if(!Mage::registry("rule_condition_product_".$object->getProductId()))
    {
        $product = Mage::getModel('catalog/product')
                    ->load($object->getProductId());
        Mage::register("rule_condition_product_".$object->getProductId(),$product);
    }

        $product = Mage::registry("rule_condition_product_".$object->getProductId());

        $product->setQuoteItemQty($object->getQty())
                ->setQuoteItemPrice($object->getPrice())
                ->setQuoteItemRowTotal($object->getRowTotal());

    return parent::validate($product);
}

性能没有提升

另一个建议的解决方案是:

http://www.neptuneweb.com/blog/29-improving-magento-checkout-performance-with-large-number-of-cart-rules.html

这建议覆盖 product->load() 函数,但我不清楚他们建议如何/在何处执行此操作。我认为它不是 app/code/core/Mage/Core/Model/Abstract.php

的本地版本

有什么想法吗?

【问题讨论】:

    标签: magento


    【解决方案1】:

    解决添加到购物车或结帐页面性能低下的最佳方法是增强 Magento 使用的缓存机制。根据我的经验,实现超快速结帐页面的最佳方法是将内置的 Magento 缓存替换为外部缓存服务器,例如 redis

    确实,与购物车和结帐相关的性能似乎会随着价格规则的增加而恶化,这主要是由于 Magento 在这方面的架构设计。 Magento 为每个产品价格 X 客户群体 X 价格规则 X 等级定价(以及更多)创建了一个新记录。因此,如果您一开始就有一个庞大的目录、数十或数百个客户群和数百条价格规则,那么价格表就会呈指数级增长,并且结账会在多个层面上受到影响。希望这会得到解决,但不太可能很快。 Redis 是你的朋友。

    另一个选项是允许添加到购物车或结帐并将交易记录在队列中,然后以生产者/消费者的方式处理实际订单。我很熟悉这方面的第一手资料,对于超大型交易网站来说,这是一种很好的方式,但它也带来了一些挑战。

    如果您使用的是 Magento 1.8.x.x CE 或更高版本:内置 Redis 缓存选项。如果您使用的是 1.7.x.x 及更低版本,则需要Cm_Cache_Backend_Redis,您可以考虑使用Cm_RedisSession

    【讨论】:

      猜你喜欢
      • 2013-02-18
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      • 2013-03-25
      • 2015-03-09
      相关资源
      最近更新 更多