Wird die Site durch mehr aktivierte Module langsamer?
Ich habe 30 Module für meine Site installiert und befürchte, dass es zu langsam wird.
Wird die Site durch mehr aktivierte Module langsamer?
Ich habe 30 Module für meine Site installiert und befürchte, dass es zu langsam wird.
Antworten:
Wenn mehr Module aktiviert sind, wird das Drupal-Bootstrapping langsamer, da mehr Dateien geladen und analysiert werden. Abgesehen davon bedeutet mehr aktivierte Module nicht automatisch eine langsamere Site, da nicht alle Module Code für jede angeforderte Seite ausführen.
Wenn Sie beispielsweise Views installiert und nur die Ansicht der Startseite aktiviert haben, werden Views nicht ausgeführt, wenn die angeforderte Seite eine Knotenseite ist. Das Modul "Ansichten" wird zwar implementiert hook_menu_alter()
, und dies wird auch dann ausgeführt, wenn Sie keine Ansicht aktiviert haben, das Modul "Ansichten" jedoch aktiviert ist. Eine Implementierung von hook_menu_alter()
wird aufgerufen, wenn die Menüs neu erstellt werden, und dies geschieht normalerweise nicht bei jeder Seitenanforderung.
Ja. 30 ist jedoch kein Grund zur Sorge. Sie sind in Schwierigkeiten, wenn Sie über 100 gehen;)
Installieren Sie einen Bytecode-Cache (APC oder XCache), um die Verlangsamung des Einbindens vieler Dateien weitgehend zu vermeiden, und entfernen Sie regelmäßig nicht verwendete Module (normalerweise sammelt jedes Projekt Module, die zu einem bestimmten Zeitpunkt während der Entwicklung nicht verwendet werden).
In Ergänzung zu den beiden richtigen Antworten von @Bojan Zivanovic & @kiamlaluno sollten Sie sich um Modulinteraktionen kümmern. Viele Module erhöhen das Risiko schlechter Modulwechselwirkungen (z. B. Wechselwirkungen mit anderen Medikamenten). Ich würde sagen, dass mehr als 50 Module gefährlich werden und dass Sie frühzeitig prüfen sollten, ob Sie nicht mehrere Module für die gleichen Aufgabendomänen verwenden.
Als Beispiel Seiten mit Blöcken, Ansichten, Feldern, Feldern mit Ansichten, Blöcken mit Ansichten, Blöcken mit Feldern mit Ansichten ... erstellen. Die Idee ist, etwas zu erhalten, das ein normales Gehirn verstehen kann (wie sind meine verschiedenen Seiten zusammengesetzt). . Dies kann große Auswirkungen auf die Leistung haben, wenn mehrere komplexe Ladeverhalten ausgeblendet und verkettet werden. Ein weiteres Beispiel ist das Hinzufügen mehrerer ACL-Regeln aus mehreren Modulen für jeden Inhalt.
Wenn Sie Leistungsangst haben, verwenden Sie immer Profiling- Module und verfolgen Sie die Unterschiede nach jeder neuen Modul-Hinzufügung. Manchmal spart ein kleiner Haken mit SQL oder einer benutzerdefinierten Vorlage Ihrer Website Zeit.
Drei Dinge, die Sie beim Erstellen einer Site beachten sollten, um Ihre Drupal-Site zu beschleunigen:
und in Bezug auf den Modulteil wird offensichtlich eine größere Anzahl von Modulen langsamer die Geschwindigkeit sein, da sie einen größeren RAM zum Verarbeiten benötigten.
30 bis 60 Module beeinträchtigen Ihre Site nicht so sehr.
Das Verhältnis für die Ladezeit und die Anzahl der Module beträgt 100. Das Modul verzögert die Site um 350 ms bis 650 ms.
Ich hoffe, dass Sie bei der nächsten Site diese Punkte berücksichtigen werden. :)