Jakie są skutki uboczne wyłączenia modułu podstawowego? (np. Mage_Rss / Mage_Log)

15

Na przykład zalecam wyłączenie Mage_Rss, aby przyspieszyć procesy finalizowania transakcji, ponieważ Mage_Rss nie jest powszechnie używany i wymusza czyszczenie pamięci podręcznej wiele razy na żądanie realizacji transakcji.

Rozważam wyłączenie Mage_Log z podobnych powodów - mam już Google Analytics, a także agreguję dzienniki Apache za pośrednictwem PapertrailApp.com, ale zdaję sobie sprawę, że nie sformalizowałem mojego procesu sprawdzania konsekwencji, więc nie krępuj się odpowiedzieć specjalnie dla Mage_Log lub ogólnie w celu wyłączenia modułu podstawowego.

Wiem, że mogę określić tabele używane przez moduł, patrząc na jego skrypt instalacyjny w / sql, oraz rejestrowane przez niego zdarzenia, przeglądając plik \ etc \ config.xml, ale co jeszcze jest istotne? Czy ten moduł jest właściwie zamknięty tylko w przypadku tabel mających przedrostek log_? Istnieje kilka zdarzeń zdefiniowanych przez ten moduł podstawowy, czy ich obserwatorzy zawiodą z wdziękiem / po cichu czy spowodują problemy na dalszych etapach? Jak powiedzieć, na jakie raporty mają wpływ?

Ralph Tice
źródło
2
Pierwszą rzeczą z góry mojej głowy Customers\Online Customersjest karmienie z niektórych log_*stołów.
user487772,
Możesz rzucić na to okiem. Thomas Birke stworzył rozszerzenie do podkręcania głównej wydajności Magento na podstawie doskonałej wypowiedzi Ivana Chepurnyi: github.com/quafzi/magento-performance-tweaks napisanej przez tegan-snyder
Fabian Blechschmidt

Odpowiedzi:

7

Oprócz oczywistych, np. Moduł już nie działa - potencjalnym efektem ubocznym jest każdy moduł, który ma ten moduł główny wymieniony w deklaracji, również nie działałby. Istnieje wiele wtyczek innych firm, które zależą od ładowania podstawowych modułów. Istnieją również podstawowe współzależności, szczególnie jeśli korzystasz z wersji Enterprise.

Mam wrażenie, że większość ludzi wyłącza te „niepotrzebne” moduły ze względu na szybkość - w końcu ładuj tylko to, czego używasz, prawda? Chociaż jestem pewien, że ma on niewielki, mierzalny wpływ - istnieje wiele bardziej skutecznych rzeczy, które możesz zrobić, aby pozytywnie wpłynąć na szybkość witryny.

Istnieje kilka świetnych artykułów SO, które mówią o tym konkretnym problemie - ten szczególnie wydawał mi się dobrą lekturą:

Optymalizacja prędkości poprzez wyłączenie modułu Mage_Reports?

Istnieją inne doniesienia, że ​​wyłączenie Mage_Downloadable itp. Może pomóc w usłudze Checkout - ale wydaje się, że są to starzejące się posty i moim zdaniem nie mają związku z najnowszymi wydaniami Magento. Jeśli nadal korzystasz z wersji 1.4CE lub 1.7EE, może to być szczególnie przydatne.

http://kassner.com.br/2011/01/magento-slow/

http://www.magentocommerce.com/boards/v/viewthread/221626/#t306872

/programming/11102268/magento-duplicate-orders

Aktualizacja

Trudno jest uogólnić, jaki wymierny wpływ miałby to na twoją szczególną - lub czyjąkolwiek - sytuację. Na przykład powolny serwer w sieci o niskiej przepustowości znacznie utrudniłby Twoją szybkość niż którekolwiek z wymienionych rozwiązań.

Na podstawie własnej intensywnej analizy wydaje się, że może to przynieść zysk. Podobnie jak w przypadku wszystkich opinii SO, YMMV, ale myślę, że użycie memcached, apc, pełnej strony pamięci podręcznej i CDN może mieć bardziej wymierny wpływ na coś takiego jak, powiedzmy, współczynnik konwersji, ponieważ wpływa na wrażenia użytkownika końcowego.

Konfiguruję wszystkie skrzynki klienckie na podstawie opublikowanych specyfikacji - według mojej wiedzy nie wspominają one o wyłączaniu nieużywanych modułów. Wspominają o wyłączaniu niepotrzebnych modułów Apache.

Biały papier

http://www.magentocommerce.com/whitepaper/

Wreszcie wykonałem kopanie i mogę znaleźć tylko wzmiankę o wyłączeniu Mage_Rssjako potencjalnym wzroście wydajności podczas używania pamięci podręcznej systemu plików. Jeśli używasz pamięci podręcznej systemu plików i przynajmniej tego nie zamontowałeś tmpfs, powinieneś poważnie rozważyć memcached, apc lub wspomniane wyżej tmpfsmontowanie.

philwinkle
źródło
2
@philwinkie: Faktyczne wyłączenie Mage_Rss znacznie zmniejsza IO podczas kasy ... jest to bardzo korzystne ulepszenie. Chociaż oczywiście bezpieczniej jest po prostu wyłączyć obserwatora.
Daniel Sloof,
@philwinkie: Bardzo trudno jest uogólnić, jakie ulepszenia wydajności są ważne dla wielu różnych zastosowań Magento. Mój serwer bazy danych osiągnął wartość szczytową ~ 3200 w czasie pisania IOPS w ciągu ostatnich 6 godzin, więc jestem prawie pewien, że moim najlepszym hukiem do ulepszenia złotówki jest wyłączenie Mage_Log :)
Ralph Tice
Dziękuję za zaktualizowaną odpowiedź. Mam już memcaching, APC i CDN na miejscu. Pełna pamięć podręczna stron nie pomaga w moim konkretnym przypadku użycia z powodów, dla których nie mogę tu wchodzić, więc mam optymalizację bazy kodu. Dzięki za wskaźnik do Mage_Downloadable, spróbuję tego również.
Ralph Tice
W przypadku braku FPC zajrzałbym do Varnish Cache - szczególnie z modułami Varnish dostępnymi w Magento Connect. Twoje zdrowie.
philwinkle
Lakier też nie pomoże. Po prostu mam za dużo witryn sklepowych :)
Ralph Tice
3

Zauważyliśmy konkretny problem z wyłączaniem Mage_Log, który psuje funkcjonalność porównywania produktów. Kiedy anonimowe przeglądarki dodają do porównania, a następnie logują się, Magento korzysta z identyfikatora_użytkownika wygenerowanego przez Mage_Log w celu dołączenia listy porównawczej do klienta, a jeśli ta wartość jest równa zeru, to mocno psuje witrynę, jeśli jakikolwiek inny klient kiedykolwiek porównał to samo product_id (nieprzechwycony wyjątek dotyczący duplikatu klucza).

Jonathan Day
źródło
Dzięki za informację, Jonathan! Początkowo chciałem Mage_Logcałkowicie wyłączyć , ale teraz wyłączę tylko obserwatorów :)
Roman Snitko
0

Być może interesuje Cię projekt Magento Lite, jest to w zasadzie kręgosłup Magento (większość modułu została wyłączona)

https://github.com/colinmollenhour/magento-lite

Fra
źródło
Widelec Magento jest przeznaczony do celów CMS, a wszystkie funkcje koszyka zostały usunięte. Pytanie OP dotyczy przyspieszenia realizacji transakcji, dlatego potrzebują funkcjonalności koszyka!
philwinkle,
właściwie nikt nie powstrzyma cię przed użyciem go do koszyka. Musisz tylko ponownie włączyć moduły, których potrzebujesz
Fra