¿Los módulos no habilitados afectan el rendimiento?


91

¿Tener módulos Drupal presentes pero no habilitados tiene algún efecto en el rendimiento de un sitio Drupal?

Para decirlo de otra manera ... ¿Eliminar los módulos deshabilitados de un sitio de Drupal tendría un efecto positivo en el rendimiento?

Respuestas:


97

Generalmente no, no afectará el rendimiento, excepto cuando esté viendo la página de selección de Módulos (admin / build / modules o admin / modules). Los módulos deshabilitados no se cargan en la memoria y nunca se ejecutan.


24
Dicho esto, los módulos deshabilitados aún dejan variables y tablas de base de datos para que el módulo pueda volver a habilitarse sin pérdida de datos. Si no planea usar un módulo deshabilitado nuevamente, debe desinstalar el módulo a través de admin / build / modules / uninstall en D6 o admin / modules / uninstall en D7.
Dave Reid

1
Supongo que este puede ser un ejemplo de un módulo que agrega una columna a la tabla de nodos, drupal.org/project/quickstats, así que supongo que si no desinstala el módulo, esto representará un consumo innecesario de recursos (¿quizás mínimo? ) a otros módulos cuando se extrae información del nodo.
cigotete

62

Si. Puede.

A pesar de lo que dicen los demás, hay varias situaciones en las que el rendimiento disminuirá.

  1. Los módulos deshabilitados y no desinstalados correctamente pueden tener graves efectos en el rendimiento: las variables para un módulo no se eliminan y se cargarán en cada solicitud de página. Las configuraciones regionales para un módulo (en caso de que use un sitio traducido) no se eliminan y causan sobrecarga en una tabla de base de datos ya engorrosa.
  2. Drupal usa la tabla del sistema como almacenamiento en caché para evitar búsquedas en el sistema de archivos para módulos. Cuantas más entradas haya en esa tabla, más lento será. Este efecto es bastante pequeño, porque la tabla del sistema está bastante bien indexada. Sin embargo, el borrado de caché y la visita a las páginas de administración hacen que esta tabla se reconstruya. Reconstruir la mesa con más de 200 módulos no utilizados es aproximadamente 25 veces más lento que sin módulos no utilizados. La cantidad de reconstrucción de esta tabla puede ser bastante alta en algunas situaciones extrañas, durante el desarrollo, etc.

Los módulos no utilizados no usan más memoria que no sea durante la reconstrucción de la tabla del sistema. Los módulos no utilizados no provocan búsquedas más o más lentas en su sistema de archivos, más allá de la reconstrucción de la tabla del sistema. Si supera los X-miles de módulos, el sistema de archivos en sí puede causar problemas.


55
Los módulos deshabilitados no son necesariamente módulos no desinstalados correctamente: podría deshabilitar un módulo para evitar que aparezca su página de configuración, y no porque quiera desinstalarlo. Por ejemplo, en Drupal.org Views UI solo se habilita cuando alguien necesita editar una vista, y luego se deshabilita después de que se realiza la edición de la vista.
kiamlaluno

3
Además, si tiene instalado devel / admin_menu, tiene un atajo agradable para 'Deshabilitar módulos de desarrollador', que deshabilita cosas como Vistas UI, Reglas UI, Field UI, etc. que no son necesarias para sitios de producción que se ejecutan normalmente. ¡Esto puede ahorrar algunos MB en cada subproceso PHP / Apache en una máquina LAMP normal!
geerlingguy

55
Soy consciente de que un módulo no habilitado no es per-sé un módulo que una vez estuvo deshabilitado. Su ejemplo de vistas y módulos de desarrollo demuestra mi punto: cuando deshabilita las vistas-ui, su tabla de configuración regional y su tabla de valores están / llenas / con pelusa que se carga y evalúa en cada página. Recientemente limpié un sitio donde teníamos 5MB (!) Y casi 60MB (!) De variables sobrantes y cadenas locales no utilizadas, sobrantes de módulos viejos y que ya no se usan. Provoca que las búsquedas locales se conviertan en consultas lentas y provoque 5 Mb de memoria adicional en cada carga de página.
Berkes

Si desactivo la IU de Vistas, es porque todavía quiero usarla; es solo que no quiero habilitarlo cuando no lo necesito. En ese caso, eliminar todas las variables de Drupal para ese módulo tendría el efecto negativo de restablecer todas las configuraciones que cambié. No es seguro lo que quisiera. Un módulo no habilitado es un módulo deshabilitado. Parece que está confundiendo un módulo desinstalado con un módulo deshabilitado, donde este último es un módulo que deshabilité porque lo uso en situaciones específicas, como la interfaz de usuario de Vistas que es realmente necesaria al editar una vista; No lo necesito en otros casos.
kiamlaluno

2
Cuando usa la interfaz de usuario de vistas como la describe: deshabilitado con la opción de usarlo a voluntad; que tiene un efecto sobre el rendimiento . Eso es lo que pregunta el OP. Y aparentemente así es como la gente lo usa (al menos tú). Entonces, la conclusión es que los módulos deshabilitados pueden tener un impacto en el rendimiento; especialmente si elige no eliminarlos por completo; y siempre si no se desinstalan correctamente
berkes

8

Con instalado supongo que te refieres a la carpeta de tus módulos drupal ("sites / all / modules" o "sites / yoursite.com / modules"), ¿verdad?

Si es así, los módulos deshabilitados no afectarán en absoluto el rendimiento, solo cuando visite su página "admin / build / modules". Drupal reconstruye el caché de algunos elementos del módulo (como hook_menu ).


7

Según mi experiencia, la disminución del rendimiento de los módulos deshabilitados es insignificante (y en relación, 4000 módulos deshabilitados pueden hacer las cosas un poco más lentas que 30 módulos deshabilitados, etc.)

Personalmente, estoy más preocupado por el código no utilizado (y probablemente desactualizado) que se encuentra en mi repositorio y en los directorios web, pero así soy analmente retentivo.


4

Técnicamente no y sí. Los moduels normalmente desactivados no se cargan en la memoria, por lo que no afectarán el rendimiento del sitio como tal. Pero si los módulos deshabilitados tienen muchos datos en variables, entonces es recomendable desinstalarlos para que la memoria se libere.


3

Eliminar el código de los módulos deshabilitados podría no tener un efecto en el sitio.

Por otra parte, si instaló un módulo en algún momento, habrá llenado la base de datos con algunas tablas. Por lo tanto, cuantos más módulos instale, mayores serán las posibilidades de afectar el rendimiento de la base de datos.

Desinstalar el módulo eliminará esas tablas innecesarias.

Nuevamente, el rendimiento depende de la cantidad de módulos que haya instalado.


3

Los módulos deshabilitados que no se desinstalan pero se eliminan físicamente del sistema de carpetas afectarían negativamente el rendimiento del sitio. Tenía 5 de estos módulos y debido a eso, hubo 10,000 llamadas adicionales a la función is_dir (). Utilicé el módulo missing_modules (missing_module) para identificar los módulos faltantes y solucioné el problema en la base de datos.


1

Desinstalar y deshabilitar no afectará el rendimiento.

Pero si el módulo está desactivado solo entonces puede tener algunas tablas asociadas, por lo que son una carga adicional en la base de datos de drupal.

Y como se dijo anteriormente, habrá un problema de rendimiento significativo en la página del módulo de drupal. Muchas veces esta página no se carga y toma mucho tiempo debido a que todos los módulos que están instalados / desinstalados se muestran allí.

Entonces, para superar esta situación, debemos eliminar físicamente los módulos no utilizados de / sites / all / modules / drive.


1
"Desinstalar y deshabilitar no afectará el rendimiento". - En casos específicos pueden hacerlo. Especialmente el desempeño de acciones administrativas. No solo la página de "módulos", algunos módulos para traducción o revisión de código también funcionan en módulos no habilitados. Y hay cosas menores como el rendimiento del sistema de archivos.
Mołot

1

Los módulos deshabilitados no afectan el rendimiento del sitio drupal.

Pero se recomienda no descargar los módulos que serían inútiles en su sitio.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.