В настоящее время я работаю над Magento 2 и заметил, что время загрузки всех страниц чрезвычайно велико.
Сейчас я работаю на Xampp, рабочий режим включен, HTML / js / CSS объединены и сведены к минимуму, Varnish отключен, и я не буду его использовать, поскольку мой веб-хостинг не может установить его на моем сервере, поскольку он будет мешать работе несколько скриптов. Я использую собственную тему, родительская тема которой является пустой темой в Magento 2. После изменения настроек я повторно развернул статические файлы и очистил кеш.
Моя главная проблема заключается в том, что когда я смотрю на сетевую панель, я вижу, что каждый раз загружается огромное количество js-файлов. Например, на странице моей категории загружено 122 файла js, что, как я обнаружил, довольно много, для общего размера 955 ko.
Я проверил его на своем сервере без слияния и минимизации, но, как я уже сказал выше, я думаю, что проблема заключается в количестве загруженного файла, потому что даже если он загружается быстрее, он все еще слишком длинный, а в процессе оформления заказа он еще хуже.
Я попробовал вариант комплектации, но он генерирует 8-мегабайтный js-файл, что хуже.
Я что-то пропустил или это нормально, что количество js-файлов такое большое? Обязателен ли лак для хорошей производительности и есть ли альтернатива ему?
Я довольно новичок в Magento 2, поэтому, если вам нужна дополнительная информация, я буду рад предоставить ее.
источник
Ответы:
Количество JS является огромным, но если он подводит к 8MB есть что - то не так. Вы должны использовать конфигурацию «Bundling» в производственном режиме, если вы не хотите, чтобы загружалось более 100 файлов.
При включенной по умолчанию теме Luma, включенной группировке, объединении и минимизации JS-файл в комплекте составляет 1,9 МБ.
Varnish - это еще одна тема, которая не поможет с производительностью созданных статических файлов.
источник
Я также довольно новичок в Magento 2, но до сих пор с magento 1 и 2 нам пришлось включить кэширование, чтобы получить что-либо, имеющее любую скорость. Количество js огромно, поэтому кэширование - ваш лучший друг. Вы можете включить кэширование, запустив php bin / magento cache: enable. Если у вас включено кэширование, вам нужно будет его сбросить после внесения изменений с помощью php bin / magento cache: flush. Встроенное кэширование Magento 2 доступно даже без Vanish.
источник
Удивительно, что эта проблема актуальна для Magento 2 в 2020 году. Комплектация не связывает 90% файлов (как описано здесь )
Js merge, с другой стороны, объединяет все в супер-тяжелый мега-пакет.
Однако, несмотря на то, что это не может быть решено с Magento по умолчанию, вот платное расширение, которое значительно улучшает вышеупомянутое поведение: оптимизация скорости страницы Google
источник