Недавно я начал разрабатывать новые расширения или настройки для magento2, и мое первое впечатление было кошмаром. Я должен ждать около 20-30 секунд для каждого изменения, которое я делаю? действительно?
Я говорю о режиме разработки , я знаю, что в работе с включенным кэшем и другими вещами сайт может быть гладким. Но когда я работаю с проблемой расширения или компоновки, мне нужно удалить статические файлы, очистить кеш и т. Д.
Мой вопрос, как вы все разработчики M2 работают? потому что я не верю, что вам нужно ждать 20-30 лет, чтобы обновить страницу ...
Мое окружение: мой компьютер "хороший" i5 с 8 ГБ ОЗУ. Мне нужно работать с Windows, поэтому я использую vagrant:
- Использование всех 4-х ядерных процессоров
- Используйте 5120 МБ ОЗУ
- Ubuntu / trusty64 - Ubuntu 14.04
- Версия PHP 7.0.12-1 + deb.sury.org ~ верный + 1
- MariaDB - 10.1.18-MariaDB-1 ~ верный
- Magento 2.1.2 устанавливается только с сэмплданными (больше модулей не установлено)
- (Спроси меня, хочешь ли ты узнать больше)
Что именно происходит? Обычно M2 отвечает нормально, медленно, но нормально, около 5-10 секунд, чтобы загрузить страницы, но иногда (чаще, чем иногда) просто зависает навсегда! иногда это первая страница, а иногда файлы css, js, html, но всегда проблема с TTFB.
Я видел проблему с установкой мастера тоже ... с angular.js эти файлы длится вечно ...
Эти 2 изображения о навигации внутри мастера настройки.
Затем еще один переход по внешнему каталогу:
Что именно я спрашиваю? Это нормально? вы, ребята, работаете с этим временем? Я прокомментировал это с некоторыми коллегами, и мы просто не верим, я должен работать так? Я иногда отчаиваюсь ожидания все время смотрю на экран ...
Если кто-то просит меня показать ему тест, например, создать новый продукт или что-то в этом роде, он просто сходит с ума ... Создание нового заказа, заполнение полей и каждое поле выполняет js, который длится 5-6 с ...
Я не знаю, но я так плохо развиваюсь с этим материалом ...
источник
Ответы:
Я перепробовал все, и единственное, что работает, это виртуальная машина, которая обеспечивает битнами. https://bitnami.com/stack/magento/virtual-machine
Серьезно, я не знаю, что это за ВМ, но идет очень быстро. Я попытался создать свою виртуальную машину, используя новую установку Ubuntu, CentOS и т. Д. Но не работает так хорошо, как эта виртуальная машина.
источник
отключить слияние и минимизацию CSS / JS:
Также смотрите это руководство о том, как улучшить производительность Magento 2.
источник
Я обнаружил, что режим разработчика отключить все - что было излишним. Есть некоторые аспекты, которые я хочу кэшировать, такие как перевод. К счастью,
env.php
вы все еще можете установить, какие кэши использовать конкретно:Это было выше, что я выбрал для кеширования при разработке на Checkout, так как это был сильно фронтенд. Я решил не кэшировать макет; Блоки и полная страница, чтобы увидеть мои изменения.
источник
Предложения от Magento, опубликованные после ответа на этот вопрос. Читая другие ответы, я думаю, что эта информация может быть полезным дополнением.
http://devdocs.magento.com/guides/v2.2/extension-dev-guide/build/optimal-dev-environment.html
Оптимальная конфигурация
Ниже приведен список оптимизаций, которые вы можете выполнить на своем локальном компьютере для разработки.
источник
Включи свой кеш.
Перейти
<your magento 2 directory>/bin
и запустить эту командуmagento cache:enable
.Очистите кэш при редактировании интерфейса, чтобы увидеть, что вы редактировали.
Перейти
<your magento 2 directory>/bin
и запустить эту командуmagento cache:clean
.Моя ссылка
Я новичок в magento 2 тоже. Я надеюсь, что у кого-то есть способ сделать magento 2 быстрым, даже когда кеш отключен.
источник
Мои настройки в Ubuntu 16.10 для разработки внешнего интерфейса для LESS :
Установить режим разработчика:
php bin/magento deploy:mode:set developer
Включить все кэши:
php bin / magento c: включить
Фронтальный рабочий процесс разработки установлен на стороне сервера компиляции
После любых изменений в меньшем количестве файлов запустите
хрюкать чисто
(В прошлый раз мне удается начать - ворчать смотреть с просмотра в реальном времени и его здорово)
источник
Просто хочу поделиться своим личным опытом. Решение, которое я придумал, состояло в том, чтобы установить Xampp с версией php 7.0, так как Magento не полностью совместим с более поздней версией Php. Я попробовал Bitnami Image, указанный в ответе, но не сработал, как я ожидал Xampp 7.0.23 Ссылка для скачивания
источник
Увеличение PHP
memory_limit
в файле php.ini будет иметь большое значение. Однако это не сделает его очень очень гладким (хотя это сэкономит время).Значение по умолчанию 512M. На моей локальной машине я установил «-1» (неограниченно), и это дает лучшее время загрузки.
Рекомендуемое значение memory_limit = 2G, упомянутое здесь .
Magento тяжелый и нуждается в высокопроизводительном оборудовании, таком как SSD, чтобы быть гладким :(
источник
memory_limit
не имеет никакого отношения к производительности вообще. Это видно из названия директивы.Если у вас возникли проблемы с настройкой на Vagrant box, это почти наверняка будет, как ваши папки являются общими. Они должны быть доступны через NFS.
После того, как я возился с множеством различных блоков, я понял, что, хотя я настроил NFS в конфигурации, он на самом деле не работал и стандартная система разделения VirtualBox вступала во владение.
Я вернулся к основам, настроил простую коробку LEMP и установил этот плагин:
https://github.com/Learnosity/vagrant-nfs_guest
Подтвердил, что NFS работает, и все было хорошо.
источник
Вещи, которые могут сделать вашу установку Magento 2 быстрой на вашем локальном сервере или вообще на любой среде сервера.
Теперь, когда вы работаете в среде разработки, очищайте только необходимый кеш, а не сбрасывайте весь кеш, чтобы предотвратить полное перестроение кеша.
источник
Основная причина, почему magento2 работает медленно в режиме разработчика, связана с тысячами статических и скомпилированных файлов, сгенерированных на лету.
Для этого есть 3 решения:
Смонтировать весь каталог с помощью NFS (SSD по-прежнему является обязательным).
Смонтируйте только каталог приложения (с любым оборудованием), но вы потеряете доступ к каталогу / vendor на вашем хост-компьютере.
Смонтируйте весь проект с помощью rsync и исключите каталоги, в которых сгенерированы файлы (pub / статические, сгенерированные / code и т. Д.).
Я сделал эту работу, попробуйте: https://github.com/zepgram/magento2-fast-vm/
источник