Jak szybko przyspieszyć tworzenie stron Magento 2?

18

Wyłączyłem wszystkie pamięci podręczne i ustawiłem tryb wdrażania na programistyczny. Więc moje strony programistyczne Magento 2 na wszystkich komputerach są bardzo wolne w porównaniu do stron Magento 1.x.

Czy to normalne dla Magento 2?

Jakich konfiguracji serwera i Magento musimy używać w witrynach programistycznych Magento 2, aby mieć maksymalną prędkość?

Aktualizacja:

Na komputerze Mac do programowania lokalnego mogłem przyspieszyć witrynę, wyłączając opcache, ponieważ wystąpił problem z konfiguracją.

codelogn
źródło
Zainstaluj Redis, aby zastąpić pamięć podręczną plików zaplecza. I użyj memcache do sesji php. Włącz pamięć podręczną i wyłącz sekcje pamięci podręcznej, których nie chcesz włączać podczas pracy nad określonym zadaniem. Jeśli projektujesz tylko motyw, użyj chrząknięcia i włącz całą pamięć podręczną. Sposób konfiguracji znajduje się w oficjalnej dokumentacji Magento 2.
niejasne
redis jest bezużyteczny, chyba że masz ponad 100 000 produktów
Claudiu Creanga
Cierpię również z powodu wolnego rozwoju na lokalnym komputerze z systemem Windows. Według twojego doświadczenia, czy lepiej byłoby dla mnie rozpocząć rozwój lokalny w Ubuntu lub Linux Mint? i jaką konfigurację polecasz?
Jai,

Odpowiedzi:

12

Możesz użyć tego vagrant box https://github.com/EcomDev/fast-hypernode .

Używam go i jest dość szybki. W trybie programisty z wyłączoną pamięcią podręczną i xdebug odświeżenie strony trwa około 2-3 sekund.

Lub możesz użyć vagrant box dostarczonego przez magestead: http://www.magestead.com/

  • użyj php7.
  • użyj gulp do wygenerowania css i js (szybciej niż chrząknięcie). Możesz wypróbować już zbudowaną konfigurację przez snowdog (gotowy w 2 minuty): https://github.com/SnowdogApps/magento2-frontools
  • podczas testowania użyj 3 GB pamięci RAM.
  • wyłącz tylko potrzebną pamięć podręczną . Jeśli robisz frontend, nie musisz wyłączać żadnej pamięci podręcznej.
  • użyj livereload lub browsersync do programowania interfejsu, aby nie trzeba było ponownie ładować stron.

Dowiedz się, co robią komendy magento i kiedy je uruchamiać. Jeśli prowadzisz dużo setup:static-content:deploy, oszalejesz, widząc te kropki. Grunt lub łyk nie wiedzą o @magento_import, dlatego po dodaniu lub usunięciu plików musisz uruchomić program, dev:source-theme:deployktóry jest znacznie szybszy niż powyższy.

Co się nie poprawia:

O ile nie masz ponad 100 000 produktów, redis nie robi różnicy, więc nie zawracaj sobie głowy ( http://www.developers-paradise.com/wp-content/uploads/2016/05/05-Yaroslav-Rogoza-Magento-2-performance- Porównanie-w-różnych-środowiskach.pdf ).

Obecnie, ze względu na to, w jaki sposób magento2 używa wymaganego js (2mb js), http2 również nie ma znaczenia.

Claudiu Creanga
źródło
Cierpię również z powodu wolnego rozwoju na lokalnym komputerze z systemem Windows. Według twojego doświadczenia, czy lepiej byłoby dla mnie rozpocząć rozwój lokalny w Ubuntu lub Linux Mint? i jaką konfigurację polecasz?
Jai,
@Jai przepraszam, nie mam doświadczenia z Mint. Używam Mac i Ubuntu.
Claudiu Creanga,
Sir ... Czy mogę spodziewać się dobrej prędkości rozwoju Magento 2 ... jeśli użyję Vagrant na moim systemie Windows 7 (i5 + 12 Gb Ram), czy powinienem przejść do Ubuntu z tą konfiguracją systemu, ponieważ okno frustruje powolny rozwój
Jai
1
@Jai Windows jest w porządku. Powinieneś dążyć do 2-3 sekund odświeżania w trybie programisty z włączonymi niektórymi pamięciami podręcznymi. sprawdź, jak szybki jest ten github.com/alankent/docker-gsd na twoim komputerze i celuj w tę prędkość. dla włóczęgów polecam hypernode packagist.org/packages/byteinternet/hypernode-vagrant
Claudiu Creanga
Dzięki za Twoją sugestię. Wdrożę twoją rekomendację i czy uważasz, że rozwój Magento można zrobić szybko w Ubuntu i Mac w porównaniu do Windows?
Jai,
7

W zależności od rodzaju rozwoju, który planujesz robić, przejście na kompilację css po stronie klienta znacznie poprawia szybkość witryn programistycznych

Sklepy> Konfiguracja> Zaawansowane> Deweloper> Przepływ pracy programistycznej

Przełącz na kompilację po stronie klienta mniej

bjornredemption
źródło
Wydaje się, że to ustawienie zostało przeniesione w Magento 2.2. Jakieś wskazówki, gdzie go teraz znaleźć?
fritzmg,
1
docs.magento.com/m2/ee/user_guide/system/ ... Chciałbym sprawdzić, czy Twoja witryna jest w trybie programisty, ponieważ jest niewidoczna, jeśli nie
bjornredemption
Tak, nie było w trybie programisty, dzięki :)
fritzmg
0

Upewnij się również, że scalanie JS / CSS jest wyłączone, gdy w trybie programisty naprawdę wpływa to na wydajność, testy pokazują, że prędkość może spaść z 20-30 sekund do 2-3 sekund.

Może wydawać się oczywiste, że można to zrobić w trybie programisty, ale jeśli przeoczę, może to doprowadzić do niewiarygodnie wolnego środowiska, ponieważ skopiowałem środowisko produkcyjne, aby je rozwinąć i przez jakiś czas tęskniłem.

Aktualizacja

Wydaje się, że jest to problem, który dotyczył mnie w 2.1.7 do 2.1.9 i wydaje się, że został rozwiązany w Magento 2.2.X

harri
źródło
ta informacja wydaje się nieprawidłowa. Prędkość nie powinna spadać przy scalaniu
kadzi 3000
@ ladle3000 Poza tym tak naprawdę nie chcesz scalać i minimalizować w trakcie tworzenia, tylko utrudnia to zobaczenie, jakie pliki należy zmienić w celu modyfikacji CSS / JS.
harri
Widzę twoje punkty. Myślę, że być może dlatego, że migrowałem bezpośrednio do wersji 2.2, nigdy się z tym nie spotkałem. W jakiej wersji jesteś?
ladle3000,
Można to naprawić teraz w wersji 2.2.0, ale wydaje się to tylko dodatkowym krokiem. Próbowałem dziś rano przetestować, ale kiedy włączę w trybie programisty, wydaje się, że nadal jest wyłączony? Im teraz 2.2.3
harri
0

Wyłącz następujące pamięci podręczne, aby nie trzeba było uruchamiać poleceń CLI, aby wyczyścić pamięć podręczną.

CONFIG
LAYOUT_GENERAL_CACHE_TAG
BLOCK_HTML
FPC
rupi
źródło
0

Główny powód, dla którego magento2 działa wolno w trybie programisty, jest związany z tysiącem plików statycznych i skompilowanych generowanych w locie.

Istnieją na to 3 rozwiązania:

  • Zamontuj cały katalog za pomocą NFS (SSD jest nadal obowiązkowy).

  • Zamontuj tylko katalog aplikacji (bez względu na to, jaki sprzęt będzie działał poprawnie), ale stracisz dostęp do katalogu / vendor na komputerze-hoście.

  • Zamontuj cały projekt za pomocą rsync i wyklucz katalogi, w których generowane są pliki (pub / static, wygenerowany / kod itp.).

Możesz spróbować tutaj: https://github.com/zepgram/magento2-fast-vm/

Benjamin Calef
źródło
0

Opcache znacznie zwiększa wydajność, po prostu nie zapomnij włączyć sprawdzania czasu, aby uniknąć odświeżania pamięci podręcznej podczas modyfikowania plików

opcache.validate_timestamps = On
Choussamaster
źródło
0

Jeśli korzystasz z systemu Windows, wypróbuj ten stos, jest bardzo szybki: https://winnmp.wtriple.com/ przy użyciu nginx i php-fpm i włącz Zend Opcache

W przypadku pamięci podręcznych możesz pozostawić je wszystkie włączone, ale użyj tego obserwatora plików, który automatycznie opróżnia tylko potrzebne pamięci podręczne: https://github.com/mage2tv/magento-cache-clean

Kevin Chavez
źródło
-4

Aby zwiększyć szybkość sklepu Magento 2, wykonaj następujące kroki:

  • Najpierw upewnij się, że spełniłeś wszystkie wymagania systemowe i dotyczące serwera.
  • Zaktualizuj Magento do najnowszej wersji.
  • Włączono pamięć podręczną lakieru
  • Włączono płaskie kategorie i produkty - Zoptymalizuj obraz, JavaScript i CSS
  • Skonfiguruj CDN
  • Zawsze używaj bezbłędnych rozszerzeń i lekkiego motywu.
Syed Muneeb Ul Hasan
źródło