Производительность на странице продукта с атрибутами


Я работаю над интернет-магазином Magento (EE 1.14.2.0) с ужасной производительностью на страницах, где загружаются атрибуты продукта, самая плохая страница - это страница продукта, потому что там показано несколько атрибутов. Для загрузки требуется 12854 мс и 250 МБ памяти!

Я установил расширение профилировщика AOE для лучшего профилирования, где я увидел следующее:

enter image description here

Когда я отключу все локальные и общественные модули и восстановлю значение по умолчанию или тема rwd У меня такая же производительность (нет основных взломов).

Все показанные запросы одинаковы, и их полная версия:

SELECT 
    `main_table`.*, `tdv`.`value` AS `default_value`, `tsv`.`value` AS `store_default_value`, IF(tsv.value_id > 0, tsv.value, tdv.value) AS `value` 
FROM 
    `eav_attribute_option` AS `main_table`
INNER JOIN 
    `eav_attribute_option_value` AS `tdv` 
ON 
    tdv.option_id = main_table.option_id
LEFT JOIN 
    `eav_attribute_option_value` AS `tsv` 
ON 
    tsv.option_id = main_table.option_id AND tsv.store_id = '1' 
WHERE 
    (tdv.store_id = 0) 
ORDER BY 
    main_table.sort_order ASC, value ASC

Когда я выполняю этот запрос, я получаю 11000 записей! Все значения параметров атрибутов. В интернет-магазине действительно есть много значений параметров атрибутов, но зачем получать все это вместо того, чтобы получать необходимые? Например, файл attributes.phtml, этот отображает на этой странице продукта всего 6 атрибутов. Как вы можете видеть, запрос выполняется 6 раз! Похоже, что это получаю все (коллекцию, поправьте меня, если я ошибаюсь) и фильтрую после этого.

Это ошибка в Magento или что-то, что я могу легко исправить?

Author: Roy, 2015-08-26

1 answers

Мы связались со службой поддержки Magento Enterprise, и они создали исправление для этого: SUPEE-6913. Я не могу ни на что ссылаться, потому что я только что получил патч по электронной почте.

 2
Author: Roy, 2015-09-16 07:39:39