]]>

Jak zwiększyć szybkość działania i wydajność pracy Magento

2011-03-17 01:20 przez administrator

Wydajność - jeden z bardziej delikatnych i interesujących tematów w kontekście wdrożeń Magento.

Optymalizacja ma już duże znaczenie na samym etapie powstawania szablonu oraz jego konfiguracji. Mamy tu na myśli zarówno konstrukcje składni XML modułów szablonu, kodowanie phtml (te wątki nie wchodzą w ramy tego artykułu) jak i konfigurację Magento w panelu zarządzania. Przede wszystkim jednak duże znaczenie ma również środowisko systemowe w jakim zostanie uruchomiona platforma sklepu.

Największe pole do manewru uzyskujemy mając pod opieką serwer dedykowany lub wirtualny z pełnym dostępem do jego konfiguracji. W innym wypadku w wykonaniu pewnych czynności niezbędny będzie kontakt z administratorem lub obsługą klienta firmy hostingowej.

W poniższym artykule pokażemy drogę jak wycisnąć z Magento maksimum wydajności optymalizując system.

 

Analiza wydajności.

Czym by była cała zabawa bez konkretnych pomiarów.

To dobry by wykonać testy wydajnościowe naszego sklepu. Będą jak znalazł dla późniejszych porównań i analizy wpływu przeprowadzonych działań optymalizujących działanie sklepu.

Dobrym narzędziem, które możemy wykorzystać w tym celu jest funkcja autorstwa Google, którą znajdziemy we wtyczke Firebug przeglądarki Firefox.

Aby wykonać testy należy odpalić stronę startową sklepu po czym w menu FF wybieramy:a

Narzędzia → Firebug → Otwórz

W konsoli przechodzimy na zakładkę Page Speed i klikamy „Analyze Performance”.

Teraz gdy już znasz osiągi swojego sklepu mozesz zacząć pracować nad ich poprawą, a da się w tej kwestii zrobić sporo.

 

Backup bazy danych.

Przed rozpoczęciem jakichkolwiek działań świętą zasadą jest pełen backup. Jeśli już go masz, zrób kolejny :). Jeśli chodzi o backup bazy danych - PHPMyAdmin jest fajny, jeśli operujesz na świeżo postawionym lub o małych rozmiarach sklepie. Jeśli baza przybrała swoich rozmiarów lepiej od razu udać się do linii poleceń:

aby utworzyć backup:

mysqldump -h nazwa_hosta -u użytkownik -p hasło --default-character-set=utf8 nazwa_bazy > plik_wynikowy.sql


aby przywrócić backup:

mysql -h nazwa_hosta -u użytkownik -phasło --default-character-set=utf8 nazwa_bazy < plik_źródłowy.sql


do kompletu również backup katalogu ze sklepem:

cd /var/www/
tar zcf backup-twojsklep.tar.gz twoj-sklep/



Optymalizacja bazy danych - Czyszczenie logów.

Jedną z ważniejszych kwestii, na które trzeba zwrócić uwagę jest z pewnością odchudzanie bazy danych ze zbędnych wpisów (czytaj śmieci), które z czasem przybierają spore (czytaj spore spore) rozmiary.

Jeśli masz pod swoją opieką sklep Magento, który ma już jakiś staż online - możesz być pewien, że historia jego użycia w znaczącym stopniu odcisnęła swoje piętno na rozmiarze bazy danych. Z pomocą przyjdzie nam tu domyślnie wyłączona opcja w panelu zarządzania sklepem:

System → Configuration → System tab → Log Cleaning panel.

Oczywiście podstawowym warunkiem jest uruchomiony cron dla sklepu.
Na temat "cron" przeznaczam osobny artykuł (w przygotowaniu).

Na chwile obecną jeśli nie masz zaplanowanych zadań cron - jednorazowo odpalisz je wywołując adres sklepu w przeglądarce: www.adres-sklepu.pl/cron

Ta operacja pozwoli nam na znaczne odchudzenie bazy danych oraz także co jest logicznym następstwem przyspieszyć jej działanie.

 

Ładowanie Magento.

Bezpośredni wpływ na szybkość uruchamiania sklepu daje nam optymalizacja jego ładowania.

Fooman Speedster

Interesującym rozszerzeniem, które znajdziemy w Magento Connect jest "Fooman Speedster". Plugin zwiększy wydajność platformy scalając i kompresując skrypty JS oraz style CSS. Rozszerzenie poprawia także sposób w jaki Magento obsługuje załączanie tych plików.

Korzyści jakie uzyskujemy dzięki instalacji modułu są następujące:

  • Po pierwsze skrypty Javascript i pliki css scalane są w jeden, co znacznie wspomaga ich ładowanie i gotowość do działania.
  • Kompresja odbywa się bez udziału biblioteki GZip serwera.
  • Mechanizm wspiera "automatyczne wersjonowanie" - polega to na tym, że przy każdej aktualizacji, któregoś z plików tworzony jest nowy URL, co wymusza na odwiedzającym pobranie zawsze aktualnej wersji, co dużym plusem, gdyż cały czas zachowane są korzyści płynące z włączonego cach'owania Magento.

 

Przeprowadzone testy jednoznacznie pokazują, że działanie pluginu moze mieć bardzo pozytywny efekt na działanie Twojego sklepu. Optymalizowana jest wielkość pobieranych danych, a także ilość odwołań HTTP.




W drugiej części artykułu:

  • Optymalizacja serwera Apache
  • Konfiguracja kompilatora PHP
  • Optymalizacja serwera baz danych MySQL
  • Konfiguracja Magento

Wróć

Zobacz również