Beeinträchtigen nicht aktivierte Module die Leistung?


91

Haben vorhandene, aber nicht aktivierte Drupal-Module Auswirkungen auf die Leistung einer Drupal-Site?

Anders ausgedrückt: Würde sich das Entfernen deaktivierter Module von einer Drupal-Site positiv auf die Leistung auswirken?

Antworten:


97

Im Allgemeinen wird die Leistung nicht beeinträchtigt, außer wenn Sie Ihre Modulauswahlseite anzeigen (admin / build / modules oder admin / modules). Deaktivierte Module werden nicht in den Speicher geladen und nie ausgeführt.


24
Inaktivierte Module hinterlassen jedoch weiterhin Variablen und Datenbanktabellen, sodass das Modul ohne Datenverlust erneut aktiviert werden kann. Wenn Sie nicht vorhaben, ein deaktiviertes Modul erneut zu verwenden, sollten Sie das Modul über admin / build / modules / uninstall in D6 oder admin / modules / uninstall in D7 deinstallieren.
Dave Reid

1
Ich vermute, dass dies ein Beispiel für ein Modul ist, das der Knotentabelle eine Spalte hinzufügt, drupal.org/project/quickstats. Wenn Sie das Modul also nicht deinstallieren, bedeutet dies einen unnötigen Ressourcenverbrauch (möglicherweise minimal? ) zu anderen Modulen, wenn Knoteninformationen abgerufen werden.
Cigotete

62

Ja. Es kann.

Ungeachtet dessen, was die anderen sagen, gibt es mehrere Situationen, in denen die Leistung sinken wird.

  1. Deaktivierte und nicht ordnungsgemäß deinstallierte Module können schwerwiegende Auswirkungen auf die Leistung haben: Variablen für ein Modul werden nicht entfernt und bei jeder Seitenanforderung geladen. Gebietsschemas für ein Modul (falls Sie eine übersetzte Site verwenden) werden nicht entfernt und verursachen einen Overhead für eine bereits umständliche Datenbanktabelle.
  2. Drupal verwendet die Systemtabelle als Caching, um das Nachschlagen von Modulen im Dateisystem zu vermeiden. Je mehr Einträge in dieser Tabelle vorhanden sind, desto langsamer wird es. Dieser Effekt ist eher gering, da die Systemtabelle recht gut indiziert ist. Durch das Löschen des Caches und das Aufrufen der Verwaltungsseiten wird diese Tabelle jedoch neu erstellt. Die Neuerstellung der Tabelle mit mehr als 200 nicht verwendeten Modulen ist etwa 25-mal langsamer als ohne nicht verwendete Module. Der Umfang der Neuerstellung dieser Tabelle kann in einigen komischen Situationen, während der Entwicklung usw. ziemlich hoch sein.

Nicht verwendete Module belegen nur während der Neuerstellung der Systemtabelle mehr Speicher. Nicht verwendete Module verursachen keine weiteren oder langsameren Suchvorgänge in Ihrem Dateisystem als beim erneuten Erstellen der Systemtabelle. Wenn Sie die X-Tausenden von Modulen überschreiten, kann das Dateisystem selbst Probleme verursachen.


5
Deaktivierte Module sind nicht unbedingt nicht ordnungsgemäß deinstallierte Module: Ich könnte ein Modul deaktivieren, um zu vermeiden, dass seine Einstellungsseiten angezeigt werden, und nicht, weil ich es deinstallieren möchte. Beispielsweise ist die Benutzeroberfläche von Drupal.org-Ansichten nur aktiviert, wenn eine Ansicht bearbeitet werden muss. Sie wird dann deaktiviert, nachdem die Ansicht bearbeitet wurde.
kiamlaluno

3
Wenn Sie devel / admin_menu installiert haben, haben Sie außerdem eine nette Verknüpfung zu "Entwicklermodule deaktivieren", die Dinge wie die Ansichts-Benutzeroberfläche, die Regel-Benutzeroberfläche, die Feld-Benutzeroberfläche usw. deaktiviert, die für normal laufende Produktionsstandorte nicht benötigt werden. Dies kann ein paar MB in jedem PHP / Apache-Thread auf einem normalen LAMP-Rechner einsparen!
Geerlingguy

5
Mir ist bewusst, dass ein nicht aktiviertes Modul kein Modul ist, das einmal deaktiviert wurde. Ihr Beispiel von Ansichten und Entwick-alike - Module macht meinen Punkt beweisen: Wenn Sie Ansichten-ui Ihrer locale Tabelle zu deaktivieren und Ihr varaibles Tisch ist / übersät / mit Flusen , die geladen wird , und auf jeder Seite bewertet. Ich habe kürzlich eine Site aufgeräumt, auf der wir 5 MB (!) Und fast 60 MB (!) Übrig gebliebene Variablen und nicht verwendete Gebietsschema-Zeichenfolgen hatten, die von alten und nicht mehr verwendeten Modulen stammen. Verursachen, dass die Suche nach Gebietsschemas zu langsamen Abfragen wird und 5 MB zusätzlicher Speicher auf jedem Seitenladevorgang anfallen.
Berkes

Wenn ich die Benutzeroberfläche von Views deaktiviere, möchte ich sie trotzdem verwenden. Es ist nur so, dass ich nicht möchte, dass es aktiviert wird, wenn ich es nicht brauche. In diesem Fall hat das Entfernen aller Drupal-Variablen für dieses Modul den negativen Effekt, dass alle von mir geänderten Einstellungen zurückgesetzt werden. Es ist nicht sicher, was ich will. Ein nicht aktiviertes Modul ist ein deaktiviertes Modul. Es scheint, dass Sie ein deinstalliertes Modul mit einem deaktivierten Modul verwechseln, wobei letzteres ein Modul ist, das ich deaktiviert habe, weil ich es in bestimmten Situationen verwende, z. Ich brauche es in anderen Fällen nicht.
kiamlaluno

2
Wenn Sie die Benutzeroberfläche für Ansichten wie beschrieben verwenden: Deaktiviert mit der Option, sie nach Belieben zu verwenden. es wirkt sich auf die Leistung aus . Das fragt das OP. Und anscheinend benutzen die Leute es so (zumindest Sie). Die Schlussfolgerung lautet also, dass deaktivierte Module Auswirkungen auf die Leistung haben können. vor allem, wenn Sie sie nicht vollständig entfernen möchten; und immer wenn sie sich nicht richtig deinstallieren
berkes 28.12.11

8

Mit installiert meine ich wohl in deinem Drupal Module ("sites / all / modules" oder "sites / yoursite.com / modules") Ordner, oder?

In diesem Fall wirken sich deaktivierte Module nicht auf die Leistung aus, wenn Sie die Seite "admin / build / modules" aufrufen. Drupal baut den Cache einiger Modulelemente neu auf (als hook_menu ).


7

Nach meiner Erfahrung ist der Leistungsabfall bei deaktivierten Modulen vernachlässigbar (und im Verhältnis dazu können 4000 deaktivierte Module die Leistung etwas verlangsamen als 30 deaktivierte Module usw.).

Persönlich mache ich mir nur mehr Sorgen um unbenutzten (und wahrscheinlich veralteten) Code in meinem Repo- und Webverzeichnis, aber ich bin auf diese Weise anal remanent.


4

Technisch nein und ja. Normalerweise werden deaktivierte Module nicht in den Speicher geladen, sodass sie die Leistung der Site als solche nicht beeinträchtigen. Wenn die deaktivierten Module jedoch viele Daten in Variablen enthalten, ist es ratsam, sie zu deinstallieren, damit der Speicher freigegeben wird.


3

Das Entfernen des Codes der deaktivierten Module hat möglicherweise keine Auswirkungen auf die Site.

Wenn Sie jedoch irgendwann ein Modul installiert haben, hat es die Datenbank mit einigen Tabellen gefüllt. Je mehr Module Sie installieren, desto größer ist die Wahrscheinlichkeit, dass die Datenbankleistung beeinträchtigt wird.

Durch das Deinstallieren des Moduls werden diese unnötigen Tabellen entfernt.

Auch hier hängt die Leistung von der Anzahl der installierten Module ab.


3

Die deaktivierten Module, die nicht deinstalliert, sondern physisch aus dem Ordnersystem gelöscht werden, wirken sich nachteilig auf die Leistung der Site aus. Ich hatte 5 solcher Module und aus diesem Grund gab es zusätzliche 10.000 Aufrufe der Funktion is_dir (). Ich habe das Modul missing_modules (missing_module) verwendet, um die fehlenden Module zu identifizieren, und das Problem in der Datenbank behoben.


1

Deinstalliert und deaktiviert wirken sich nicht auf die Leistung aus.

Wenn das Modul jedoch nur deaktiviert ist, sind möglicherweise einige Tabellen zugeordnet, sodass die Drupal-Datenbank zusätzlich belastet wird.

Und wie bereits erwähnt, wird es auf der Modul-Seite von Drupal einige signifikante Performance-Probleme geben. Oft wird diese Seite nicht geladen und nimmt viel Zeit in Anspruch, da dort alle installierten / deinstallierten Module angezeigt werden.

Um diese Situation zu überwinden, sollten wir die nicht verwendeten Module physisch aus / sites / all / modules / drive entfernen.


1
"Deinstalliert und deaktiviert wirken sich nicht auf die Leistung aus." - In bestimmten Fällen können sie. Vor allem die Durchführung von Admin-Aktionen. Nicht nur die Seite "Module", sondern auch einige Module für die Übersetzung oder Codeüberprüfung funktionieren auch bei nicht aktivierten Modulen. Und es gibt kleinere Dinge wie die Leistung des Dateisystems.
Mołot

1

Deaktivierte Module wirken sich nicht auf die Leistung der Drupal-Site aus.

Es wird jedoch empfohlen, keine Module herunterzuladen, die für Ihre Site nicht von Nutzen wären.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.