Як швидко зробити сайти розвитку Magento 2?


18

Я вимкнув усі кеші і встановив режим розгортання на розвиток. Тож мої сайти розробки Magento 2 на всіх машинах дуже повільні порівняно з сайтами Magento 1.x.

Це нормально для Magento 2?

Які конфігурації сервера та Magento ми повинні використовувати для сайтів розробки Magento 2, щоб він мав максимальну швидкість?

Оновлення:

На mac для місцевого розвитку я зміг пришвидшити сайт, відключивши opcache, оскільки виникла проблема з конфігурацією.


Встановіть Redis для заміни кеш-файлу резервного файлу. І використовувати memcache для php сесій. Увімкніть кеш-пам’ять і вимкніть розділи кешу, які ви не хочете ввімкнути під час роботи над певним завданням. Якщо ви стилюєте лише тему, використовуйте дихання та ввімкніть кеш-пам'ять. Як налаштувати, це в офіційній документації magento 2.
незрозумілий

redis марний, якщо у вас немає 100k + продуктів
Claudiu Creanga

Я також страждаю від повільного розвитку локальних віконних ПК. Згідно з вашим досвідом, було б краще для мене почати локальну розробку в Ubuntu або Linux Mint? і яку конфігурацію ви рекомендуєте?
Джай

Відповіді:


12

Ви можете використовувати цей бродячий ящик https://github.com/EcomDev/fast-hypernode .

Я ним користуюся, і це досить швидко. У режимі розробника з відключеним кешем і xdebug оновлення сторінки становить приблизно 2-3 секунди.

Або ви можете використовувати поле бродячого, яке надає magestead: http://www.magestead.com/

  • використовувати php7.
  • використовувати gulp для генерації css та js (швидше, ніж grunt). Ви можете спробувати вже вбудовану конфігурацію сніговиком (готовий за 2 хвилини): https://github.com/SnowdogApps/magento2-frontools
  • використовуйте 3 Гб оперативної пам'яті, якщо робите тестування.
  • вимкніть лише необхідний кеш . Якщо ви робите фронтенд, вам не потрібно відключати кеш.
  • використовувати livereload або браузерний синхронізацію для розробки інтерфейсу, щоб не потрібно було перезавантажувати сторінки.

Зрозумійте, що виконують команди magento та коли їх виконувати. Якщо ти багато біжиш, setup:static-content:deployто з’їдеш з розуму, побачивши ці точки. Грунт або gulp не знають про @magento_import, тому саме тоді, коли ви додаєте або видаляєте файли, вам потрібно запустити, dev:source-theme:deployщо набагато швидше, ніж вище.

Що не покращується:

Якщо у вас більше 100 тис. Продуктів, Redis не має ніякої різниці, тому не турбуйтеся ( http://www.developers-paradise.com/wp-content/uploads/2016/05/05-Yaroslav-Rogoza-Magento-2-performance- порівняння-в-різних-середовищах.pdf ).

Наразі через те, як magento2 використовує Requjs (2 Мб від js), http2 також не має ніякої різниці.


Я також страждаю від повільного розвитку локальних віконних ПК. Згідно з вашим досвідом, було б краще для мене почати локальну розробку в Ubuntu або Linux Mint? і яку конфігурацію ви рекомендуєте?
Джай

@Jai вибачте, у мене немає досвіду з монетним двором. Я використовую Mac і Ubuntu.
Клавдіу Креанга

Сер ... Чи можу я очікувати хорошої швидкості розвитку магенто 2 ... якщо я використовую Vagrant на своєму вікні 7 (i5 + 12Gb Ram) Або мені слід перейти до ubuntu з цією конфігурацією системи, тому що вікно засмучує повільний розвиток
Jai

1
@Jai Windows нормально. Вам слід націлитись на 2-3 секунди, щоб оновитись у режимі розробника, увімкнувши деякі кеші. перевірте, наскільки швидко цей github.com/alankent/docker-gsd на вашому комп’ютері та націліться на цю швидкість. для бродячих я рекомендую гіпернод packgist.org/packages/byteinternet/hypernode-vagrant
Claudiu

Дякуємо за вашу пропозицію. Я буду реалізовувати вашу рекомендацію, і чи вважаєте ви, що розвиток magento можна швидко здійснити в ubuntu та Mac порівняно з Windows?
Джай

7

Залежно від того, який тип розробки ви плануєте робити, ви можете виявити, що перехід на компіляцію css на стороні клієнта значно покращує швидкість сайтів розробки

Магазини> Конфігурація> Додатково> Розробник> Робочий процес розвитку на передньому рівні

Переключіться на сторону клієнта, менша компіляція


Здається, цей параметр перемістився в Magento 2.2. Будь-які вказівки на те, де його зараз знайти?
fritzmg

1
docs.magento.com/m2/ee/user_guide/system/… Я би перевірив, чи ваш сайт у режимі розробника як його не видно, якщо ні
bjornredemption

Так, це не було в режимі розробника, thx :)
fritzmg

0

Також переконайтеся, що злиття JS / CSS вимкнено, коли в режимі розробника це дійсно вражає продуктивність, тестування показує, що швидкість може знизитися з 20-30 секунд до 2 - 3 секунд.

Це може здатися очевидним зробити це в режимі розробника, але якщо пропущене може призвести до надзвичайно повільного середовища, оскільки я скопіював виробниче середовище вниз, щоб розвиватися і пропустив це на деякий час.

Оновлення

Це, здається, є проблемою, яка торкнулася мене в 2.1.7 до 2.1.9 і, здається, виправлена ​​в Magento 2.2.X


ця інформація здається неправильною. Швидкість не повинна знижуватися зі злиттям
ladle3000


@ ladle3000 Крім того, ви не дуже хотіли б об'єднатись і вдосконалити в розробці, просто ускладнюючи зрозуміти, які файли потрібно змінити для модифікації CSS / JS.
Харрі

Я бачу ваші моменти. Я думаю, можливо, тому що я мігрував безпосередньо до 2,2, я ніколи з цим не стикався. На якій версії ви?
ladle3000

Це може бути виправлено зараз у 2.2.0, але просто здається додатковим кроком. Я спробував протестувати сьогодні вранці, але коли я вмикаю його в режимі розробника, здається, все ще відключений? Я на 2.2.3 зараз
18

0

Вимкніть такі кеші, щоб не потрібно запускати команди CLI, щоб очистити кеш.

CONFIG
LAYOUT_GENERAL_CACHE_TAG
BLOCK_HTML
FPC

0

Основна причина, чому magento2 повільний у режимі розробника, пов’язана з тисячами статичних та складених файлів, що генеруються на льоту.

Для цього є 3 рішення:

  • Змонтуйте весь каталог за допомогою NFS (SSD залишається обов'язковим).

  • Монтуйте лише каталог додатків (хто б не працював), але ви втрачаєте доступ до каталогу / постачальника на вашій хост-машині.

  • Змонтуйте весь проект за допомогою rsync та виключіть каталоги, в яких генеруються файли (pub / static, generated / code тощо).

Ви можете спробувати тут: https://github.com/zepgram/magento2-fast-vm/


0

Opcache дає важливий приріст продуктивності, просто не забудьте включити перевірку часових позначок, щоб уникнути оновлення кешу під час зміни файлів

opcache.validate_timestamps = On

0

Якщо ви перебуваєте в Windows, спробуйте цей стек дуже швидко: https://winnmp.wtriple.com/ за допомогою nginx та php-fpm та ввімкніть Zend Opcache

А для кешів ви можете залишити їх увімкненими, але використовуйте цей інструмент для перегляду файлів, який автоматично видаляє лише необхідні кеші: https://github.com/mage2tv/magento-cache-clean


-4

Щоб збільшити швидкість зберігання Magento 2, виконайте наступні дії:

  • Спочатку переконайтеся, що ви виконали всі системні та серверні вимоги.
  • Оновіть Magento до останньої його версії.
  • Увімкнено кеш лаку
  • Увімкнено Плоскі категорії та продукти - Оптимізуйте зображення, Javascript та CSS
  • Налаштування CDN
  • Завжди використовуйте розширення без помилок та легку тему.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.