Deshabilitar módulos: ¿mejora del rendimiento?

27

Esta pregunta tiene 2 partes:

  1. La desactivación de los módulos principales mejora el rendimiento general de la tienda y, de ser así, ¿deben desactivarse en el administrador (es decir, desactivar la salida de la interfaz) o desactivarse a través de config.xml para que se vea esta mejora del rendimiento?

  2. Si se puede obtener una mejora en el rendimiento, qué módulos en una acción, la compilación CE 1.7.0.2 se puede deshabilitar de forma segura, a través del método respondido en la parte 1.

Marty Wallace
fuente

Respuestas:

27
  1. Si lo hace En primer lugar, menos módulos significa menos código para (potencialmente) cargar y procesar. Además de eso, muchos módulos, como por ejemplo el módulo Mage_Rss, ejecutan mucho código en segundo plano, como forzar reindexados en ciertos eventos.

    Sobre el mejor método para usar: deshabilitar un módulo usando System > Configuration > Advancedsolo suprime la salida de un módulo mientras aún incluye el código de ese módulo en la tienda. Esto es útil cuando no desea una funcionalidad de módulos pero necesita sus Modelos o Bloques, por ejemplo, porque otras extensiones (de terceros) dependen de ello. Deshabilitarlo usando app/etc/modules/*.xmllo eliminará por completo de la instalación, por lo que, en términos de rendimiento, esta es la mejor opción.

  2. Normalmente desactivo la siguiente extensión a través de XMl

    • Mage_Rss
    • Mage_PayPalUk
    • Mage_Tag (cuando no se usa en un proyecto)
    • Mage_Poll (porque quién usa las encuestas de todos modos)
    • Phoenix_Moneybookers
    • Mage_Sendfriend
    • Mage_Rating (cuando no se usa en un proyecto)
    • Mage_Bundle (nuevamente, si el cliente no lo requiere)
    • Mage_Downloadable (ver arriba)

    y a través de System > Congiguration > Advancedla Mage_Adminnotificationque suprime esas molestas ventanas emergentes en el backend.

    Probablemente pueda deshabilitar varias extensiones principales más dependiendo de lo que esté usando o no. Solo asegúrese de no comprometer la estabilidad de Magento. Supongo que esto tomará algo de prueba y error.

Sander Mangel
fuente
1
¿Hay alguna manera de deshabilitarlos sin cambiar los archivos xml principales?
Marty Wallace
1
Si aún no tiene su propio archivo XML, puede seguir adelante y crearlo, solo cree, app/etc/module/Mage_Rss.xmlpor ejemplo, y asegúrese de agregar el codePool (núcleo) y la etiqueta activa (falsa)
Sander Mangel
Tal vez confundí las cosas en ese momento :). Quiero decir que puedo deshabilitar Mage_Centinel, por ejemplo, sin modificar Mage_Centinel.xml, es decir, usar mi propio archivo xml para deshabilitarlo. De esa manera no estaría cambiando el código central
Marty Wallace
Ahhh bien, no entendí bien. bueno, probablemente pueda deshabilitarlo ya que todos los archivos XML se fusionan en uno, por lo que si lo agrega en la etiqueta config.xml de sus extensiones, debería ser recogido, pero en mi opinión es 'más limpio' hacerlo desde el app/etc/modulesdirectorio. Pero solo soy yo :)
Sander Mangel
2
Antes de deshabilitar las encuestas, recuerde eliminar la encuesta de muestra "Elegir colores"; He encontrado módulos de terceros que pueden mostrar el contenido de la encuesta incluso si el módulo está deshabilitado.
lrkwz
14

A pesar de llegar tarde con una respuesta, me gustaría responder la pregunta

  1. Ganas aún más rendimiento si eliminas físicamente los archivos.
  2. Simplemente todos, excepto Mage_Core;-)

Pero para deshabilitar los módulos de par apretado, necesita instalar otro módulo que tenga cuidado de que nada se rompa. Por lo tanto, he desarrollado: https://github.com/Zookal/magento-mock

Zookal Mock: Detección automática transparente de extensiones y módulos principales deshabilitados y proporciona objetos simulados para no romper Magento. Nada que configurar. Ninguna clase reescribe. Solo un observador. Funciona fuera de la caja. ¡Incluso puedes eliminar físicamente los archivos!

Por ejemplo, cuando deshabilita Mage_Wishlisto Mage_Newslettersu Backend -> Cliente -> Edición del cliente arrojará errores extraños. ¡Por lo tanto, use la extensión Mock!

Incluso puede desinstalar módulos de pago antiguos que tienen entradas en la sales_flat_order_paymenttabla y normalmente rompen su Backend -> Ventas -> Vista de pedidos, pero la extensión Mock tiene una solución transparente para usted.

Una cosa a tener en cuenta: no funciona en la línea de comandos.

Cirilo
fuente
10

Vea la respuesta de Marius con respecto a una forma simple y rápida de deshabilitar módulos XML. Crea un solo archivo zzz_Disabled_Modules.xmlcon el contenido

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

¡Imagina! ¡Un .gitignore para los módulos de Magento!

Con esto, puede ver fácilmente qué módulos ha habilitado / deshabilitado de un vistazo.

tzvi
fuente
2

Como @Sander Mangel dice que deshabilitar los módulos definitivamente puede tener una gran ganancia de rendimiento, aunque lo que deshabilita realmente es una tienda por tienda. Sin embargo, normalmente hay muchas cosas que no necesitas. Si no está utilizando la desactivación de whishlist, Mage_Wishlisthace una gran diferencia.

Otra ganancia es la desactivación Mage_Log. Sin embargo, esto puede hacerse mejor a través de local.xml.

usuario3412
fuente