Magento 2 - большое время загрузки (слишком много файлов js)

8

В настоящее время я работаю над Magento 2 и заметил, что время загрузки всех страниц чрезвычайно велико.

Сейчас я работаю на Xampp, рабочий режим включен, HTML / js / CSS объединены и сведены к минимуму, Varnish отключен, и я не буду его использовать, поскольку мой веб-хостинг не может установить его на моем сервере, поскольку он будет мешать работе несколько скриптов. Я использую собственную тему, родительская тема которой является пустой темой в Magento 2. После изменения настроек я повторно развернул статические файлы и очистил кеш.

Моя главная проблема заключается в том, что когда я смотрю на сетевую панель, я вижу, что каждый раз загружается огромное количество js-файлов. Например, на странице моей категории загружено 122 файла js, что, как я обнаружил, довольно много, для общего размера 955 ko.

Я проверил его на своем сервере без слияния и минимизации, но, как я уже сказал выше, я думаю, что проблема заключается в количестве загруженного файла, потому что даже если он загружается быстрее, он все еще слишком длинный, а в процессе оформления заказа он еще хуже.

Я попробовал вариант комплектации, но он генерирует 8-мегабайтный js-файл, что хуже.

Я что-то пропустил или это нормально, что количество js-файлов такое большое? Обязателен ли лак для хорошей производительности и есть ли альтернатива ему?

Я довольно новичок в Magento 2, поэтому, если вам нужна дополнительная информация, я буду рад предоставить ее.

Tonani
источник
Это характерно для Magento 2, когда загружено 120 или даже более 150 скриптов. Вы всегда можете объединить и свернуть их в один файл. Но просто убедитесь, что вы используете HTTP1 или HTTP2 на вашем сервере. Если у вас включен HTTP2, то асинхронная загрузка 120 или даже 150 js-скриптов не будет проблемой из-за того, как работает HTTP2. HTTP2 лучше справляется с несколькими меньшими файлами, загруженными одновременно, чем с необходимостью загрузки одного большого объединенного уменьшенного js-файла. Но я чувствую твою боль, Magento 2 - большая головная боль, по сравнению с Magento 1. Но я чувствую, что Magento 2 все еще медленный!
Джонатан Марзулло

Ответы:

3

Количество JS является огромным, но если он подводит к 8MB есть что - то не так. Вы должны использовать конфигурацию «Bundling» в производственном режиме, если вы не хотите, чтобы загружалось более 100 файлов.

При включенной по умолчанию теме Luma, включенной группировке, объединении и минимизации JS-файл в комплекте составляет 1,9 МБ.

Varnish - это еще одна тема, которая не поможет с производительностью созданных статических файлов.

Фабиан Шменглер
источник
Это то, что я сделал, и он генерирует файл 8mo js. Есть ли какая-то особая конфигурация, касающаяся комплектации, помимо ее активации на администраторе? После этого я очистил и очистил кеш.
Тонани
Вы должны активировать производственный режим,
повторно развернуть
Да, я сделал. Возможно, что-то не так с пустой темой.
Тонани
У меня были похожие проблемы, но я чувствовал, что в какой-то момент проблема была в комплектации, и теперь она устранена. Однако я использовал этот seoptimer.com, и он все еще показывает, что мой сайт имеет огромный JS около 5 МБ, когда DevTools показывает 1,5 МБ на вкладке сети для JS на странице продукта. Этот сайт просто не так?
Харри
1

Я также довольно новичок в Magento 2, но до сих пор с magento 1 и 2 нам пришлось включить кэширование, чтобы получить что-либо, имеющее любую скорость. Количество js огромно, поэтому кэширование - ваш лучший друг. Вы можете включить кэширование, запустив php bin / magento cache: enable. Если у вас включено кэширование, вам нужно будет его сбросить после внесения изменений с помощью php bin / magento cache: flush. Встроенное кэширование Magento 2 доступно даже без Vanish.

Зак Л
источник
0

Удивительно, что эта проблема актуальна для Magento 2 в 2020 году. Комплектация не связывает 90% файлов (как описано здесь )

Js merge, с другой стороны, объединяет все в супер-тяжелый мега-пакет.

Однако, несмотря на то, что это не может быть решено с Magento по умолчанию, вот платное расширение, которое значительно улучшает вышеупомянутое поведение: оптимизация скорости страницы Google

Евгений Обуховский
источник