Module deaktivieren - Performance verbessern?

27

Diese Frage besteht aus 2 Teilen:

  1. Verbessert das Deaktivieren von Kernmodulen die Gesamtleistung des Speichers und müssen sie in diesem Fall im Administrator deaktiviert (dh die Frontend-Ausgabe deaktiviert) oder über config.xml deaktiviert werden, damit diese Leistungsverbesserung sichtbar wird.

  2. Wenn eine Leistungsverbesserung erzielt werden soll, können die Module in einem Bestand, CE 1.7.0.2 Build, mit der in Teil 1 beantworteten Methode sicher deaktiviert werden.

Marty Wallace
quelle

Antworten:

27
  1. Ja tut es. Erstens bedeutet weniger Module weniger Code zum (potenziellen) Laden und Verarbeiten. Daneben führen viele Module, wie zum Beispiel das Mage_Rss-Modul, eine Menge Code im Hintergrund aus, wie zum Beispiel das Erzwingen von Neuindizes für bestimmte Ereignisse.

    Informationen zur am besten zu verwendenden Methode: Durch Deaktivieren eines Moduls mit wird System > Configuration > Advancednur die Ausgabe eines Moduls unterdrückt, während der Code dieses Moduls weiterhin im Shop enthalten ist. Dies ist praktisch, wenn Sie keine Modulfunktionalität möchten, aber Modelle oder Blöcke benötigen, da andere Erweiterungen (von Drittanbietern) davon abhängig sind. Wenn Sie es mit deaktivieren, app/etc/modules/*.xmlwird es vollständig aus der Installation entfernt. In Bezug auf die Leistung ist dies die beste Option.

  2. Ich deaktiviere normalerweise die folgende Erweiterung über XMl

    • Mage_Rss
    • Mage_PayPalUk
    • Mage_Tag (wenn nicht in einem Projekt verwendet)
    • Mage_Poll (weil wer sowieso Umfragen benutzt)
    • Phoenix_Moneybookers
    • Mage_Sendfriend
    • Mage_Rating (wenn nicht in einem Projekt verwendet)
    • Mage_Bundle (erneut, falls nicht vom Client benötigt)
    • Mage_Downloadable (siehe oben)

    und über System > Congiguration > Advanceddas, Mage_Adminnotificationwas diese nervigen Popups im Backend unterdrückt.

    Sie können wahrscheinlich mehrere weitere Kernerweiterungen deaktivieren, je nachdem, was Sie verwenden oder nicht. Stellen Sie nur sicher, dass Sie die Stabilität von Magento nicht gefährden. Ich denke, dies wird einige Versuche und Irrtümer erfordern.

Sander Mangel
quelle
1
Gibt es eine Möglichkeit, sie zu deaktivieren, ohne die Kern-XML-Dateien zu ändern?
Marty Wallace
1
Wenn es noch keine eigene XML-Datei gibt, können Sie diese erstellen. Erstellen Sie app/etc/module/Mage_Rss.xmlzum Beispiel und stellen Sie sicher, dass Sie das Tag codePool (core) und active (false) hinzufügen
Sander Mangel
Ich habe vielleicht gerade die Dinge verwirrt :). Ich will damit sagen, dass ich Mage_Centinel zum Beispiel deaktivieren kann, ohne Mage_Centinel.xml zu ändern, dh meine eigene XML-Datei verwenden, um es zu deaktivieren. Auf diese Weise würde ich den
Marty Wallace
Ahhh okay, ich habe es falsch verstanden. Nun, Sie können es wahrscheinlich deaktivieren, da alle XML-Dateien zu einer zusammengeführt werden. Wenn Sie es also in das config.xml-Tag Ihrer Erweiterung einfügen, sollte es automatisch aktiviert werden. Meiner Meinung nach ist es jedoch 'sauberer', es aus dem app/etc/modulesVerzeichnis zu entfernen . Aber das bin nur ich :)
Sander Mangel
2
Denken Sie vor dem Deaktivieren von Umfragen daran, die Beispielumfrage "Farben auswählen" zu löschen. Ich habe Module von Drittanbietern gefunden, die Umfrageinhalte anzeigen können, auch wenn das Modul deaktiviert ist.
lrkwz
14

Trotz verspäteter Antwort möchte ich die Frage beantworten

  1. Sie erhalten noch mehr Leistung, wenn Sie die Dateien physisch entfernen.
  2. Einfach alle außer Mage_Core;-)

Zum Deaktivieren von Modulen mit engen Paaren müssen Sie jedoch ein anderes Modul installieren, das dafür sorgt, dass nichts kaputt geht. Deshalb habe ich entwickelt: https://github.com/Zookal/magento-mock

Zookal Mock: Transparente automatische Erkennung deaktivierter Kernmodule und -erweiterungen und Bereitstellung von Scheinobjekten, um Magento nicht zu beschädigen. Nichts zu konfigurieren. Keine Klassenumschreibungen. Nur ein Beobachter. Funktioniert sofort. Sie können die Dateien sogar physisch entfernen!

ZB wenn Sie deaktivieren Mage_Wishlistoder Mage_NewsletterIhr Backend -> Kunde -> Kundenbearbeitung wird seltsame Fehler auslösen. Verwenden Sie daher die Mock-Erweiterung!

Sie können sogar alte Zahlungsmodule deinstallieren, die Einträge in der sales_flat_order_paymentTabelle enthalten und normalerweise Ihr Backend -> Vertrieb -> Bestellansicht beschädigen, aber die Mock-Erweiterung hat eine transparente Lösung für Sie.

Eine Sache zu beachten: Es funktioniert nicht auf der Kommandozeile.

Cyrill
quelle
10

Siehe die Antwort von Marius bezüglich einer einfachen und schnellen XML-Methode zum Deaktivieren von Modulen. Erstellen Sie eine einzelne Datei zzz_Disabled_Modules.xmlmit dem Inhalt

<?xml version="1.0"?> 
<config>
    <modules>
        <Mage_Rss>
            <active>false</active>
        </Mage_Rss>
        <Mage_PaypalUk>
           <active>false</active>
        </Mage_PaypalUk>
        <Phoenix_Moneybookers>
            <active>false</active>
        </Phoenix_Moneybookers>
        <!-- all other modules here -->
    </modules>
</config>

Vorstellen! Ein .gitignore für Magento-Module!

So sehen Sie auf einen Blick, welche Module Sie aktiviert / deaktiviert haben.

tzvi
quelle
2

Wie @Sander Mangel sagt, kann das Deaktivieren von Modulen trotzig einen großen Leistungsgewinn haben, obwohl das, was Sie deaktivieren, wirklich eine Sache von Geschäft zu Geschäft ist. Es gibt normalerweise viele, die Sie jedoch nicht benötigen. Wenn Sie keine Wunschliste verwenden, Mage_Wishlistmacht das Deaktivieren einen großen Unterschied.

Ein weiterer Vorteil ist die Deaktivierung Mage_Log. Dies kann jedoch besser über local.xml erfolgen.

user3412
quelle