Prowadzę kilka sklepów Magento CE i przyspieszam je dzięki buforowaniu, jednak wózek i kasa nadal pozostają wolne. Czy ktoś ma doświadczenie lub wskazówki dotyczące przyspieszenia tych stron?
Być może poprzez optymalizację bazy danych?
Niektóre zapytania zostały wykonane podczas zapisywania zamówienia z kasy nie pojawiają się w dzienniku powolnych zapytań na serwerze, a baza danych wydaje się być wąskim gardłem.
configuration
performance
Sander Mangel
źródło
źródło
Odpowiedzi:
Z własnego doświadczenia wyłącz moduł Mage_Rss, który wymusza 4-krotne wyczyszczenie pamięci podręcznej podczas procesu kasowania - jest to bardzo kosztowne, jeśli używasz pamięci podręcznej systemu plików, prawdopodobnie nadal drogie, jeśli korzystasz z bazy danych lub memcached.
Wyłącz tylko CE Mage_Downloadable z podobnych powodów, o ile nie korzystasz z produktu do pobrania, przyspieszy to kasę i działania w koszyku, gdy masz wiele przedmiotów w koszyku, ponieważ są obserwatorzy takich rzeczy, jak
checkout_type_onepage_save_order_after
czas pomnożony przez liczbę elementów w wózku.Połącz xhprof / xhgui i zrób profilowanie.
źródło
Module "Enterprise_PricePermissions" requires module "Mage_Downloadable
Obie te zmiany będą MASYWNIE wpływały na wydajność, ponieważ zapobiegały Magento opróżniając pamięci podręczne i ponownie indeksując za każdym razem, gdy zamówienie jest realizowane.
Kosztem jest jednak to, że zawartość może być nieaktualna - poziomy zapasów itp.
źródło
Jeśli chcesz rozwiązać to w sposób eksperymentalny, istnieje rozszerzenie z pierwszego hackathonu Magento w Monachium, niemiecki:
https://github.com/magento-hackathon/MongoDB-OrderTransactions
Kolejkują zamówienia do bazy danych mongo, pomysł polegał na tym, że jeśli serwer mysql jest wolny od obciążenia, aby je odpisać. Ale nie wiem, jak daleko ten projekt jest gotowy. Afaik zajmuje się pisaniem, ale nie pisaniem wstecz.
źródło
Nie znam twojej wersji Magento CE, z którą się zmagasz. Ale miałem poważne problemy z wydajnością z moim CE 1.6.
Powód: błędne i brakujące indeksy. Są one ustalone w CE 1.6.2.
Możesz sprawdzić, czy to ci pomaga.
Skróciłem czas realizacji 38 linii z 73 pozycjami łącznie z 123 sekund do 4 sekund !!!!
Oto nadchodzi:
źródło
Najlepszym sposobem na przyspieszenie dużych operacji na bazie danych jest posiadanie bazy danych na własnym serwerze zoptymalizowanym pod kątem korzystania z bazy danych. Niewiele można poprawić w obszarze kasowym pod względem kodu (chociaż niektóre typy produktów, takie jak Konfigurowalne, mogą naprawdę utrudnić proces wyceny), ponieważ bardzo niewiele można bezpiecznie buforować.
źródło
Może popatrz na podział odczytów i zapisów w swojej bazie danych. Będziesz jednak potrzebował niemal natychmiastowej konfiguracji replikacji, co zawsze mnie martwiło, chociaż inni mogą mieć więcej informacji na temat tego, jak najlepiej ją skonfigurować.
źródło