Какое расширение Magento замедляет ваш сайт?
Хватит гадать.
Медленная работа магазина часто вызвана слишком большим количеством расширений. Большинство людей отключают их по одному, чтобы найти проблему. Это не отладка. Это гадание на работающем сайте.
Magento 2 позволяет измерить «стоимость» расширения. Вам нужно обратить внимание на четыре области:
- Plugins: Каждый плагин добавляет новый слой к запросу. Множество плагинов на «быстрых путях» (fast paths) замедляют выполнение запросов.
- Observers: Обсервер, привязанный к общему событию, запускается на каждой странице.
- Layout: Модули внедряют блоки в общие контейнеры. Они выполняются, даже когда они вам не нужны.
- Queries: Один дополнительный поиск для каждого элемента может привести к сотням лишних запросов на одной странице.
Не гадайте. Используйте встроенный профилировщик, чтобы узнать правду.
Выполните эту команду: bin/magento dev:profiler:enable
Загрузите медленную страницу. Ищите методы, которые вызываются слишком часто. Метод, вызываемый 1400 раз — это проблема.
Для получения более точных данных используйте Blackfire, Xdebug или New Relic. Blackfire покажет вам, сколько именно времени занимает пространство имен (namespace) конкретного вендора.
Вы также можете найти места подключения модулей, выполнив поиск по файлам:
Чтобы найти плагины: grep -rl "<plugin" vendor//module-/etc/ app/code///etc/
Чтобы найти обсерверы: grep -rl "<observer" vendor//module-/etc/ app/code///etc/
Как только вы найдете подозреваемый модуль, используйте научный метод:
- Измерьте скорость загрузки страницы с активным модулем.
- Отключите этот конкретный модуль.
- Снова измерьте скорость загрузки страницы.
Разница и будет реальной «стоимостью» этого модуля.
Когда вы найдете медленный модуль, у вас будет три варианта:
- Измените область применения (scope): используйте
di.xml, чтобы ограничить работу плагина определенными областями. - Замените логику: напишите свой собственный «легкий» модуль, чтобы заменить тяжелый
aroundплагин. - Удалите его: если «стоимость» выше пользы, удаляйте его.
Хватит относиться к производительности как к фольклору. Используйте данные, чтобы исправить свой магазин.
Источник: https://dev.to/iamrobindhiman/which-magento-extension-is-slowing-you-down-stop-guessing-1mj3