Tag Archive for: cache

Magento Full Page Cache

Naszym zdaniem moduł Full Page Cache nie jest najlepszym rozwiązaniem. Jego zasada działania jest prosta: zapisuje w pamięci podręcznej już zrenderowane wersje wszystkich bloków i wysyła użytkownikowi wersję z pamięci podręcznej. Niestety takie bloki nie są ponownie przetworzone przez magento przy wejściu kolejnego użytkownika, co skutkuje ponownym wysłaniem starej wersji bloku.

Czytaj dalej

Przyspieszanie Magento z APC

W internecie często pojawiają się opinię iż Magento jest powolne i mało wydajne. Jednak warto zwrócić uwagę iż wydajność często jest pojęciem względnym. Magento jest ogromną platformą, a co za tym idzie wymagającą. Lecz posiada również wiele mechanizmów optymalizacyjnych. Ten artykuł będzie się koncentrował na jednym z takich aspektów, jakim jest współpraca magento z APC.

W przypadku instalacji APC wymagane będzie posiadanie pełnej kontroli nad serwerem i możliwości dokonania zmian w konfiguracji Apache i PHP. Czasami na hostingu współdzielonym, może uda nam się doprosić admina do dokonania niezbędnych poprawek. Ale wychodzimy z założenia iż Magento powinno być używane co najmniej na platformie VPS.

APC – Alternative PHP Cache

Korzystanie z APC jest naprawdę proste. Wystarczy zainstalować moduł do PHP i ponownie uruchomić serwer Apacha. Witryn automatycznie zaczną używać systemu cachowania APC.

Aby zainstalować APC na Debianie i dystrybucjach Linuksa opartych o niego, uruchom:

sudo apt-get install php5-apc

Pamiętaj, że musisz mieć uprawnienia root lub sudo do wykonania instalacji.

Potem już tylko restart serwera Apache w debianie :

/etc/init.d/apache restart .

Od tego momentu APC będzie dbało aby nasze skrypty były przechowywane w pamięci podręcznej i nie musiały być przy każdym wywołaniu interpretowane. Już na tym etapie wzrost wydajności naszego Magento powinien być satysfakcjonujący. Lecz to jeszcze nie wszystko co możemy zrobić. Magento tworzy swoją własną pamięć podręczną, domyślnie przechowuje ja na dysku w var/cache, możemy poinformować Magento aby w tym celu również wykorzystywało APC.

Aby to osiągnąć w pliku
app/etc/local.xml musimy stwożyć sekcję :


...
    
        apc
        MAGE_
    
...

gdzie :
backend to nazwa systemu jaki wykorzystujemy do trzymania danych przez Magento. Oprócz APC może to być jeszcze

  • memcached
  • xcache

prefix to nazwa identyfikująca nasz sklep, ma ona szczególne znaczenie jeżeli na jednym serwerze mamy więcej systemów korzysta z APC. Koniecznie wtedy musimy zadbać aby prefix był unikalny dla każdego systemu. W przeciwnym razie wspólne zmienne będą nadpisywane przez każdy z systemów. Co może doprowadzić do błędów lub wyświetlania nieprawidłowych danych w sklepie.

Ostatnim krokiem jaki warto wykonać to zmienić konfigurację naszego systemu APC. Jako iż domyślna konfiguracja APC jest dosyć oszczędna jeżeli chodzi o wykorzystanie pamięci. Poniżej przedstawiamy zalecaną przez nas konfigurację systemu APC dla jednego sklepu Magento.

extension = apc.so    #name dependent on your APC cache install

[APC]
apc.enabled = 1    # Turn APC cache on
apc.optimization  = 0    # Experimental keep off
apc.shm_segments = 1    # Shared memory segments
apc.shm_size = 128  # Max shared memory dependent on OS
apc.ttl = 7200
apc.user_ttl  = 7200
apc.num_files_hint = 1024
apc.mmap_file_mask = /tmp/apc.XXXXXX
apc.enable_cli = 1 # Allow command line php to function
apc.cache_by_default  = 1 # Enabled, 0 for filters
apc.max_file_size = 10M # Maximum cached file size
apc.stat = 1 # 1 for dev, 0 for production, whether the source file is checked for mod date
#apc.include_once_override = 1 # Use PHP5.3+ for include_once optimization

Koniecznie należy zwrócić uwagę czy nasz serwer posiada wystarczająca ilość zasobów. Jeżeli nie dysponujemy 128MB RAM dla APC należy zmniejszyć wartość zmiennej do pożądanej przez nas wartości.

Jeżeli potrzebujesz wydajnego hostingu dla magento lup pomocy w optymalizacji serwera pod magento skontaktuj się z Nami.