Performance Magento-慢速url重写重新索引

Performance Magento-慢速url重写重新索引,performance,magento,indexing,Performance,Magento,Indexing,我正在考虑改进magento中url重写的重新索引,我们有130k个简单且可配置的产品。重新编制索引会消耗大量内存,基本上,由于内存限制,我无法在Comamnd line中完成这项工作 所以我开始寻找一些可以加速整个过程的解决方案。整个重新索引发生在Mage\u Catalog\u Model\u Url::\u refreshProductRewrite中,因为系统迭代所有产品、类别和商店。对于每个迭代,它可能会执行1或2个insertOnDuplicate操作 我正在考虑将这些查询存储在某个

我正在考虑改进magento中url重写的重新索引,我们有130k个简单且可配置的产品。重新编制索引会消耗大量内存,基本上,由于内存限制,我无法在Comamnd line中完成这项工作

所以我开始寻找一些可以加速整个过程的解决方案。整个重新索引发生在
Mage\u Catalog\u Model\u Url::\u refreshProductRewrite
中,因为系统迭代所有产品、类别和商店。对于每个迭代,它可能会执行1或2个
insertOnDuplicate
操作

我正在考虑将这些查询存储在某个地方,并将它们合并到一个或多个更大的查询中,这样会更快(我想)

慢一点(产品、类别、商店)看起来像

    $this->getResource()->saveRewrite($rewriteData, $this->_rewrite);

    if ($this->getShouldSaveRewritesHistory($category->getStoreId())) {
        $this->_saveRewriteHistory($rewriteData, $this->_rewrite);
    }

有谁知道如何改进这一点吗?

我不能说我曾经使用过该产品(而且我没有任何关联),但它可能值得一看。从他们的观点来看,这似乎非常简单,而且可能会为您节省大量的工作。

它在core_url_rewrite table中引入了自己的等价物。我不确定我是否用他们的解决方案替换了核心解决方案,那么我不会破坏我们应用程序中的任何东西。我正在寻找一种可以更快地填充core_url_重写表的方法。我们在一个有大量产品的网站上使用了Ecomdev模块。它极大地提高了索引性能,并且没有破坏任何东西。Ivan和Ecomdev团队做得很好。是的,看起来很有趣。我做了一个变通办法。断裂的部分似乎是交易,在这种情况下,这并不是真正必要的。所以调用
Mage::getSingleton('catalog/url')->refreshRewrites()就足够了从外部php脚本,给它足够的资源和时间,它工作良好。它的速度和普通的magento索引一样快,它可以为150k产品和200个类别完成它的工作。我绝对可以推荐上面的模块,工作起来很有魅力。