Производительность на странице продукта с атрибутами
Я работаю над интернет-магазином Magento (EE 1.14.2.0) с ужасной производительностью на страницах, где загружаются атрибуты продукта, самая плохая страница - это страница продукта, потому что там показано несколько атрибутов. Для загрузки требуется 12854 мс и 250 МБ памяти!
Я установил расширение профилировщика AOE для лучшего профилирования, где я увидел следующее:
Когда я отключу все локальные и общественные модули и восстановлю значение по умолчанию или тема 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 или что-то, что я могу легко исправить?
1 answers
Мы связались со службой поддержки Magento Enterprise, и они создали исправление для этого: SUPEE-6913. Я не могу ни на что ссылаться, потому что я только что получил патч по электронной почте.