Czy posiadanie większej liczby włączonych modułów spowalnia witrynę?
Zainstalowałem 30 modułów dla mojej witryny i obawiam się, że będzie za wolno.
Czy posiadanie większej liczby włączonych modułów spowalnia witrynę?
Zainstalowałem 30 modułów dla mojej witryny i obawiam się, że będzie za wolno.
Odpowiedzi:
Posiadanie większej liczby włączonych modułów spowalnia ładowanie Drupala, ponieważ więcej plików jest ładowanych i analizowanych. Poza tym posiadanie większej liczby włączonych modułów nie oznacza automatycznie posiadania wolniejszej witryny, ponieważ nie wszystkie moduły wykonują kod dla każdej żądanej strony.
Na przykład, jeśli zainstalowałeś Widoki i włączyłeś tylko widok strony głównej, Widoki nie zostaną wykonane, gdy żądana strona jest stroną węzła. Chociaż moduł Widoki implementuje się hook_menu_alter()
i jest wykonywany, nawet jeśli nie włączono żadnego widoku, ale moduł Widoki jest włączony. Każda implementacja hook_menu_alter()
jest wywoływana przy odbudowywaniu menu, co zwykle nie zdarza się przy każdym żądaniu strony.
Tak. Jednak 30 nie ma się czym martwić. Masz kłopoty, gdy przekroczysz 100;)
Zainstaluj pamięć podręczną kodu bajtowego (APC lub XCache), aby wyeliminować większość spowolnienia dołączania wielu plików i pamiętaj o okresowym usuwaniu nieużywanych modułów (zwykle każdy projekt gromadzi moduły, które w pewnym momencie są nieużywane)
W uzupełnieniu obu odpowiedzi @Bojan Zivanovic i @kiamlaluno, które mają rację, należy dbać o interakcje modułów. Posiadanie wielu modułów zwiększa ryzyko złych interakcji między modułami (takich jak interakcje z lekami). Powiedziałbym, że posiadanie więcej niż 50 modułów staje się niebezpieczne i powinieneś wcześniej sprawdzić, czy nie używasz kilku modułów dla tych samych domen zadań.
Jako przykład budowanie stron z blokami, widokami, panelami, polami zawierającymi widoki, blokami zawierającymi widoki, blokami zawierającymi panele zawierające widoki zawierające ... Chodzi o to, aby uzyskać coś, co normalny mózg może zrozumieć (jak składają się moje różne strony) . Może to mieć duży wpływ na wydajność, gdy kilka złożonych zachowań związanych z ładowaniem jest ukrytych i powiązanych. Innym przykładem jest dodanie kilku reguł ACL z kilku modułów dla każdej zawartości.
Jeśli obawiasz się wydajności, zawsze używaj modułów profilujących i śledź różnice po każdym dodaniu nowego modułu. Czasami mały haczyk z częścią SQL lub niestandardowym szablonem pozwoli zaoszczędzić czas generowania witryny.
trzy rzeczy, o których należy pamiętać podczas budowania witryny, które mogą przyspieszyć twoją witrynę drupal:
a jeśli chodzi o część modułu, to oczywiście większa liczba modułów będzie wolniejsza, ponieważ będą one wymagały większej pamięci RAM do przetworzenia.
wciąż 30 do 60 modułów nie wpłynie tak bardzo na twoją stronę.
stosunek czasu ładowania strony i liczby modułów wynosi 100 modułów, opóźniając stronę o 350 ms do 650 ms.
mam nadzieję, że na następnej stronie będziesz pamiętać o tych punktach .. :)