Disabilitazione dei moduli: miglioramento delle prestazioni?


27

Questa domanda ha 2 parti:

  1. La disabilitazione dei moduli core migliora le prestazioni generali del negozio e, in tal caso, devono essere disabilitate nell'amministratore (ovvero disabilitare l'output frontend) o disabilitate tramite config.xml per vedere questo miglioramento delle prestazioni.

  2. Se è necessario ottenere un miglioramento delle prestazioni, quali moduli su uno stock, la build CE 1.7.0.2 può essere disabilitata in modo sicuro, tramite il metodo risposto nella parte 1.

Risposte:


27
  1. Sì lo fa. Prima di tutto, meno moduli significa meno codice per (potenzialmente) caricare ed elaborare. Oltre a ciò, molti moduli, come ad esempio il modulo Mage_Rss, eseguono molto codice in background come forzare reindicizzazioni su determinati eventi.

    Sul metodo migliore da usare: la disabilitazione di un modulo utilizzando System > Configuration > Advancedsopprime solo l'output di un modulo pur includendo il codice di quel modulo nel negozio. Ciò è utile quando non si desidera la funzionalità di un modulo, ma è necessario ad esempio Modelli o Blocchi perché altre estensioni (di terze parti) dipendono da esso. Disabilitarlo usando app/etc/modules/*.xmllo rimuoverà completamente dall'installazione, quindi per quanto riguarda le prestazioni questa è l'opzione migliore.

  2. Di solito disabilito la seguente estensione tramite XMl

    • Mage_Rss
    • Mage_PayPalUk
    • Mage_Tag (quando non utilizzato in un progetto)
    • Mage_Poll (causa comunque chi usa i sondaggi)
    • Phoenix_Moneybookers
    • Mage_Sendfriend
    • Mage_Rating (quando non utilizzato in un progetto)
    • Mage_Bundle (di nuovo, se non richiesto dal client)
    • Mage_Downloadable (vedi sopra)

    e tramite System > Congiguration > Advancedil Mage_Adminnotificationquale sopprime quei popup fastidiosi nel backend.

    Probabilmente puoi disabilitare diverse altre estensioni core a seconda di cosa stai usando o meno. Assicurati solo di non compromettere la stabilità di Magento. Immagino che questo richiederà qualche tentativo ed errore.


1
Esiste un modo per disabilitarli senza modificare i file xml di base?
Marty Wallace,

1
Se non ha già il proprio file XML, puoi procedere e crearlo, crealoapp/etc/module/Mage_Rss.xml ad esempio e assicurati solo di aggiungere il codePool (core) e il tag attivo (falso)
Sander Mangel

Forse ho confuso le cose proprio allora :). Voglio dire che posso disabilitare Mage_Centinel per esempio, senza modificare Mage_Centinel.xml, cioè usare il mio file xml per disabilitarlo. In questo modo non cambierei il codice di base
Marty Wallace,

Ahhh va bene, ho capito male. beh, probabilmente puoi disabilitarlo poiché tutti i file XML sono uniti in uno, quindi se lo aggiungi nel tuo tag estensioni config.xml dovrebbe essere prelevato ma a mio avviso è 'più pulito' farlo dalla app/etc/modulesdirectory. Ma sono solo io :)
Sander Mangel

2
Prima di disabilitare i sondaggi, ricorda di eliminare il sondaggio di esempio "Scegli i colori"; Ho trovato moduli di terze parti che possono mostrare i contenuti del sondaggio anche se il modulo è disabilitato.
Krkz,

14

Nonostante sia in ritardo con una risposta, vorrei rispondere alla domanda

  1. Ottieni prestazioni ancora maggiori se rimuovi fisicamente i file.
  2. Semplicemente tutti, tranne Mage_Core;-)

Ma per disabilitare i moduli a coppie strette devi installare un altro modulo che si preoccupi che nulla si rompa. Pertanto ho sviluppato: https://github.com/Zookal/magento-mock

Zookal Mock: rilevamento automatico trasparente di moduli ed estensioni core disabilitati e fornitura di oggetti simulati per non rompere Magento. Niente da configurare. Nessuna classe riscrive. Un solo osservatore. Funziona fuori dalla scatola. Puoi persino rimuovere fisicamente i file!

Ad esempio, quando disabiliti Mage_Wishlisto il Mage_Newslettertuo Backend -> Cliente -> Modifica cliente genererà strani errori. Quindi utilizzare l'estensione Mock!

Puoi anche disinstallare i vecchi moduli di pagamento che hanno voci nella sales_flat_order_paymenttabella e normalmente rompono il tuo backend -> Vendite -> Vista ordine ma l'estensione Mock ha un lavoro trasparente per te.

Una cosa da considerare: non funziona sulla riga di comando.


10

Vedi la risposta di Marius su un modo XML semplice e veloce per disabilitare i moduli. Crea un singolo file zzz_Disabled_Modules.xmlcon i contenuti

<?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>

Immaginare! Un .gitignore per i moduli Magento!

Con questo puoi facilmente vedere quali moduli hai abilitato / disabilitato a colpo d'occhio.


2

Come dice @Sander Mangel, disabilitare i moduli in modo provocatorio può avere un grande guadagno in termini di prestazioni, sebbene ciò che disabiliti sia in realtà uno store per store. Normalmente ce ne sono molti di cui non hai bisogno. Se non stai usando la disabilitazione della whishlist, Mage_Wishlistfa davvero la differenza.

Un altro guadagno è la disabilitazione Mage_Log. Questo può essere fatto meglio tramite local.xml però.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.