Я видел результаты профилировщика, заметил, что многие записи занимают более 50 секунд.
вот мой результат профилировщика
http://14.140.202.163/profiler.html
Мы ценим любые предложения
Проблема, кажется, проистекает из frontend\ultimo\default\template\catalin_seo/catalog/product/list.phtml
,
Трудно сказать точно, почему, потому что профилировщик не часто дает идеальный обзор, но я думаю, что вызовы Mage_Catalog_Model_Product_Type_Configurable::getUsedProducts()
являются большой частью проблемы. Я предполагаю, что где-то на странице вашей категории вы перебираете товары и звоните getUsedProducts()
для каждого. Я говорю это, потому что этот метод вызывается более 9000 раз.
Тем не менее, (опять же, я думаю, здесь немного), сама проблема, кажется, не находится непосредственно в getUsedProducts()
звоните, а точнее в _afterLoad()
коллекционный крючок. Если вы посмотрите на код профилировщика в этом методе, похоже, что TTT4 — худший нарушитель, который делает вызовы $this->_loadPrices();
, 9 000 звонков getUsedProducts()
подразумевает много итераций, но _afterLoad()
метод вызывается только 31 раз, что означает, что результаты getUsedProducts()
кэшируется, то есть не перезагружается. Так что может показаться, что что-то (хотя я не могу точно сказать, что происходит) происходит в Mage_Catalog_Model_Resource_Product_Type_Configurable_Attribute_Collection::_loadPrices()
,
Других решений пока нет …