Użyłem Magento 1.9 i było w porządku. Nie było tak szybkie jak prosta strona Joomla, ale miałem wielu klientów bez problemu.
Teraz chciałem zaktualizować moją witrynę do Magento 2, kupiłem nowy host (taki sam, jaki mam obecnie) i zainstalowałem Magento 2 bez przykładowych danych i jest to uciążliwe w użyciu. Nie tylko administrator, ale także pusta strona główna zajmuje kilka minut do załadowania, a gdy próbuję utworzyć konto, pojawia się błąd, że „Osiągnięto limit zasobów”
Próbowałem z Facebook FlashCache, OptimumCache i Cloudflare, ale nic się nie zmieniło, chociaż twórcy twierdzili, że Magento 2 jest znacznie szybszy niż pierwsza wersja.
Chciałbym zrozumieć, dlaczego nie mogą tego naprawić po tylu latach i dlaczego tak wielu ludzi go używa?
Czy jest jakiś sposób, żeby to naprawić?
AKTUALIZACJA:
Wcześniej korzystałem z mgt-commerce i był niesamowicie szybki, ładowanie trwało mniej niż 2 sekundy, ale kosztowało zbyt wiele: Cena AWS + 199,00 €
Oferowali domyślnie php7 / HHVM, Varnish, Redis, CDN, NGINX i domyślam się, że właśnie dlatego był szybki.
Musiałem kupić konto Amazon WS. Nie wiem, dlaczego chyba moja strona była hostowana przez Amazon.
Szukam tej samej prędkości za niższą cenę. Przykład dostawcy VPS.
Rozglądałem się, ale okazało się, że każdy dostawca hostingu twierdzi, że ma hosting Magento. Siteground, Mochahost, Hostgator, Fastcomet itp.
Być może istnieje dostawca hostingu, który zainstalowałby te pamięci podręczne, aby pokonać konkurencję.
PS: Przepraszam, jeśli mój post wydaje się głupi dla programistów, niestety wybrałem ekonomię, handel i marketing na uniwersytecie :(
źródło
Odpowiedzi:
Dostępnych jest wiele zasobów do poprawy wydajności Magento 2, a wszystkie z nich są dość dobrze udokumentowane.
Tryb: Magento 2 wprowadził tryby, domyślnie najwolniejszy. Wypróbuj tryb programisty i zawsze uruchom sklep na żywo w trybie produkcyjnym. Więcej informacji tutaj .
Pamięć podręczna: lakier jest obsługiwany po wyjęciu z pudełka, dość łatwy w konfiguracji i obsłudze.
Redis: Redis to opcjonalne rozwiązanie pamięci podręcznej zaplecza do zastąpienia
Zend_Cache_Backend_File
, które jest domyślnie używane w Magento 2. Może być używany do przechowywania sesji i buforowania stron.Memcache: Memcached to przechowywany w pamięci magazyn kluczy i wartości dla małych porcji dowolnych danych (ciągów, obiektów) z wyników wywołań bazy danych, wywołań API lub renderowania strony. W Magento 2 można go używać do sesji .
PHP 7: Magento 2 jest kompatybilny z PHP 7 po wyjęciu z pudełka. Istnieje wiele badań dotyczących tego, jak PHP 7 wpływa na wydajność na dobre.
To dopiero początek, powinieneś być w stanie dostroić swój serwer WWW i serwer bazy danych, ale będzie to w dużej mierze zależeć od konkretnego przypadku użycia.
Jeśli nie wiesz, jak to zrobić, istnieje wiele firm specjalizujących się w hostingu Magento.
Dla całkiem solidnego środowiska programistycznego moją osobistą rekomendacją jest Vagrant Paliarusha lub VM, które dostałem od Magento na kursy. Już wkrótce oficjalne zdjęcie dokera.
źródło
Magento działa dość dobrze nawet w trybie programisty. Wymaga to jednak wstępnej konfiguracji.
Najpierw upewnij się, że Magento jest poprawnie skonfigurowany, zakładając, że masz na Ubuntu:
Użyj najnowszej wersji, ponieważ Magento 2.2+ obsługuje php 7.1 http://devdocs.magento.com/guides/v2.2/install-gde/prereq/php-ubuntu.html
Jeśli korzystasz z wielu wersji php, ustaw 7.1 na domyślną przez
Onto Magento
Ustaw na Deweloper, jeśli jeszcze nie
php -f bin/magento deploy:mode:show
php -f bin/magento deploy:mode:set developer
Sprawdź, czy pamięć podręczna Magento jest włączona
php -f bin/magento cache:status
Jeśli nie jest włączony (seria 1)
Włącz wiązanie JS / CSS
Sklepy> Konfiguracja> Zaawansowane> Deweloper
* Uwaga: powyższy element menu pojawia się tylko w trybie programisty
Ustawienia szablonów
Ustawienia Javascript
Scal pliki JS = Tak
Włącz wiązanie JS = Tak
Minimalizuj pliki JS = Tak
Ustawienia CSS
Wykonuj odtłuszczanie pamięci podręcznej odtąd po każdym kroku opróżniania pamięci podręcznej, to jest twoja podstawowa próba skrócenia czasu ładowania.
Zaawansowane wiązanie
Byłby to post sam w sobie zgodny z wytycznymi magdent devdocs, w jaki sposób to włączyć, może to dodatkowo zwiększyć ładowanie JS frontendu, czyniąc go 3 razy szybszym.
Użyj Redis
Edytuj /www/project/app/etc/env.php
Użyj PHP-FPM
Włącz opcache w PHP
Edytuj /etc/php/7.1/apache2/php.ini znajdź opcache.enable
Poleciłbym również użycie Cloud DB, takiego jak AWS RDS lub inny, dzięki czemu zaoszczędzisz problemów związanych z konfigurowaniem mysql.
Jeśli teraz włączysz tryb produkcji
php -f bin/magento deploy:mode:set production
powinieneś stwierdzić, że działa dość dobrze.
Idąc dalej, możesz dodać Lakier, Przełącz na Nginx dodać CDN dla plików statycznych.
źródło
Miałem ten problem również na Macbooku Pro (koniec 2016 r.) Z MAMP.
Chciałem stworzyć motyw Magento 2. Dezaktywowałem wszystkie pamięci podręczne i przeładowanie strony (frontendu i backendu) zajęło około 30s.
Aktywowałem wszystkie pamięci podręczne za pomocą polecenia „php magento cache: enable”, a strona ładuje się bardzo szybko. Nadal mogę pracować z Grunt i LESS bez dezaktywowania dowolnego typu pamięci podręcznej.
źródło
Magento 2 nie jest domyślnie wolny. Aby to zrobić szybko, musisz wykonać następujące kroki:
Wymagania dotyczące serwera i systemu
Zaktualizuj wersję Magento
Włącz pamięć podręczną lakieru
Konfiguruj Memcached
Włącz płaskie kategorie i produkty
Zoptymalizuj Javascript i CSS
Sieć dostarczania treści
Użyj lekkiego motywu
Rozszerzenia wolne od błędów
Obrazy powinny być w pełni zoptymalizowane
źródło
Jak oceniasz Magento 2 jest wolny? Moja strona, która używa bardzo ciężkiego motywu, ma solidną 93/100 w Szybkości strony, a czas ładowania wynosi 2 sekundy. Powiedziałbym, że zdobądź lepszy host dla Magento, ponieważ twój serwer internetowy odgrywa dużą rolę w wydajności twojej witryny. Jeśli chodzi o tryb „domyślny”, to jest najwolniejszy, w ogóle nie jest prawdziwy. Prowadziłem swój sklep w trybie domyślnym, dopóki nie byłem gotowy, aby przejść do trybu produkcyjnego, który uzyskał 91/100 w trybie domyślnym i przeszedł do 93/100 dopiero po przejściu do trybu produkcyjnego.
Zdobądź lepszy host i lepszy serwer WWW, jeśli naprawdę chcesz korzystać z Magento 2.
źródło
magento cache:disable
czasie ładowania wynosi ponad 30 sekund.