Les modules non activés affectent-ils les performances?

91

Avoir des modules Drupal présents, mais non activés, a-t-il un effet sur les performances d'un site Drupal?

En d'autres termes, la suppression de modules désactivés d'un site Drupal aurait-elle un effet positif sur les performances?

Markdorison
la source

Réponses:

97

Généralement non, cela n'affectera pas les performances - sauf lorsque vous consultez votre page de sélection de modules (admin / build / modules ou admin / modules). Les modules désactivés ne sont pas chargés en mémoire et ne sont jamais exécutés.

Dave Reid
la source
24
Cela étant dit, les modules désactivés laissent encore des variables et des tables de base de données afin que le module puisse être réactivé sans perte de données. Si vous ne prévoyez pas d'utiliser à nouveau un module désactivé, vous devez désinstaller le module via admin / build / modules / uninstall dans D6 ou admin / modules / uninstall dans D7.
Dave Reid
1
Je suppose que cela peut être un exemple de module qui ajoute une colonne à la table des noeuds, drupal.org/project/quickstats, donc je suppose que si vous ne désorganisez pas le module, cela représentera une consommation de ressources nécessaire (peut-être minimale? ) à d’autres modules lors de l'extraction des informations sur les nœuds.
cigotete
62

Oui. Ça peut.

Malgré ce que disent les autres, il y a plusieurs situations dans lesquelles la performance va baisser.

  1. Les modules désactivés et non correctement désinstallés peuvent avoir de graves conséquences sur les performances: les variables d'un module ne sont pas supprimées et seront chargées à chaque requête de pagination. Les paramètres régionaux d'un module (dans le cas où vous utilisez un site traduit) ne sont pas supprimés et entraînent une surcharge sur une table de base de données déjà lourde.
  2. Drupal utilise la table système comme cache pour éviter les recherches dans le système de fichiers pour les modules. Plus il y a d'entrées dans cette table, plus elle sera lente. Cet effet est plutôt faible, car la table système est assez bien indexée. Cependant, la suppression du cache et la consultation des pages d'administration provoquent la reconstruction de cette table. La reconstruction de la table avec plus de 200 modules inutilisés est environ 25 fois plus lente qu’en l’absence de modules inutilisés. Le nombre de reconstructions de cette table peut être assez élevé dans certaines situations étranges, pendant le développement, etc.

Les modules non utilisés n'utilisent pas plus de mémoire autrement que pendant la reconstruction de la table système. Les modules non utilisés n'entraînent pas de recherches supplémentaires ou plus lentes sur votre système de fichiers, autrement que lors de la reconstruction de la table système. Si vous dépassez les X-milliers de modules, le système de fichiers lui-même peut poser problème.

Berkes
la source
5
Les modules désactivés ne sont pas nécessairement des modules non correctement désinstallés: je pourrais désactiver un module pour éviter que ses pages de paramètres ne s'affichent, et non parce que je souhaite le désinstaller. Par exemple, sur Drupal.org, l'interface utilisateur de Vues n'est activée que lorsque quelqu'un doit modifier une vue, puis elle est désactivée après la modification de la vue.
kiamlaluno
3
De plus, si vous avez installé devel / admin_menu, vous disposez d'un joli raccourci pour «Désactiver les modules de développement», qui désactive des éléments tels que l'interface utilisateur de vues, l'interface de règles, l'interface de champ, etc., qui ne sont pas nécessaires pour les sites de production fonctionnant normalement. Cela peut économiser quelques Mo dans chaque thread PHP / Apache sur une machine LAMP normale!
geerlingguy
5
Je suis conscient qu'un module non activé n'est pas per-sé un module qui était une fois désactivé. Votre exemple de vues et modules devel-alike fait prouver mon point: lorsque vous désactivez des vues-ui votre table locale et votre table est varaibles / jonché / charpie qui est chargé et évalué sur chaque page. J'ai récemment nettoyé un site où nous avions 5 Mo (!) Et près de 60 Mo (!) De variables restantes et de chaînes de paramètres régionaux inutilisés, restes de modules anciens et inutilisés. Faire en sorte que les recherches de paramètres régionaux deviennent des requêtes lentes et causent 5 Mo de mémoire supplémentaire à chaque chargement de page.
Berkes
Si je désactive Views UI, c'est parce que je veux toujours l'utiliser. c'est juste que je ne le veux pas activé quand je n'en ai pas besoin. Dans ce cas, la suppression de toutes les variables Drupal de ce module aurait pour effet de réinitialiser tous les paramètres modifiés. Ce n'est sûrement pas ce que je voudrais. Un module non activé est un module désactivé. Il semble que vous confondiez un module désinstallé avec un module désactivé, où ce dernier est un module que j'ai désactivé, car je l'utilise dans des situations spécifiques, comme l'interface utilisateur de visualisation qui est vraiment nécessaire lors de la modification d'une vue. Je n'en ai pas besoin dans d'autres cas.
kiamlaluno
2
Lorsque vous utilisez l'interface utilisateur de vues telle que vous la décrivez: désactivée avec la possibilité de l'utiliser à volonté; cela a un effet sur les performances . C'est ce que demande le PO. Et apparemment, c’est comme ça que les gens l’utilisent (du moins vous l’utilisez). Ainsi, la conclusion est que les modules désactivés peuvent avoir un impact sur les performances; surtout si vous choisissez de ne pas les supprimer entièrement; et toujours s'ils ne se désinstallent pas correctement
berkes
8

Avec installé, je suppose que vous voulez dire dans votre dossier Drupal de modules ("sites / all / modules" ou "sites / yoursite.com / modules"), n'est-ce pas?

Si tel est le cas, les modules désactivés n'affecteront en rien les performances, juste lorsque vous visiterez votre page "admin / build / modules". Drupal reconstruit le cache de certains éléments du module (en tant que hook_menu ).

Strae
la source
7

D'après mon expérience, la baisse de performances par rapport aux modules désactivés est négligeable (et relative, 4 000 modules désactivés peuvent ralentir un peu les 30 modules désactivés, etc.).

Personnellement, je suis juste plus préoccupé par le code inutilisé (et probablement obsolète) qui se trouve dans mes répertoires repo et web, mais je suis anormalement rétentif comme ça.

Christian
la source
4

Techniquement non et oui. Les modules normalement désactivés ne se chargent pas en mémoire et n'affecteront donc pas les performances du site en tant que tel. Mais si les modules désactivés contiennent beaucoup de données dans les variables, il est conseillé de les désinstaller afin de libérer la mémoire.

Comme si
la source
3

La suppression du code des modules désactivés peut ne pas avoir d'effet sur le site.

Là encore, si vous avez installé un module à un moment donné, il aura rempli la base de données avec quelques tables. Donc, plus vous installez de modules, plus vous risquez d’avoir une incidence sur les performances de la base de données.

La désinstallation du module supprimera ces tables inutiles.

Là encore, les performances dépendent du nombre de modules que vous avez installés.

teknikqa
la source
3

Les modules désactivés qui ne sont pas désinstallés mais supprimés physiquement du système de dossiers auraient un impact négatif sur les performances du site. J'avais 5 modules de ce type et à cause de cela, il y avait 10 000 appels supplémentaires à la fonction is_dir (). J'ai utilisé le module missing_modules (missing_module) pour identifier les modules manquants et j'ai corrigé le problème dans la base de données.

Manish Kumar Namdeo
la source
1

Désinstallé et désactivé n’affectera pas les performances.

Mais si le module est uniquement désactivé, certaines tables peuvent être associées, ce qui représente une charge supplémentaire pour la base de données Drupal.

Et comme mentionné précédemment, il y aura un problème de performance important sur la page du module de Drupal. Plusieurs fois, cette page n'est pas chargée et prend beaucoup de temps car tous les modules installés / désinstallés y sont affichés.

Donc, pour surmonter cette situation, nous devons supprimer physiquement les modules inutilisés de / sites / all / modules / drive.

Rajat Gusain
la source
1
"Désinstallé et désactivé n’affectera pas les performances." - dans des cas spécifiques, ils peuvent. Surtout la performance des actions d'administration. Non seulement la page "modules", certains modules de traduction ou de révision de code fonctionnent également sur des modules non activés. Et il y a des choses mineures comme les performances du système de fichiers.
Mołot
1

Les modules désactivés n'affectent pas les performances du site drupal.

Mais il est recommandé de ne pas télécharger les modules qui ne seraient d'aucune utilité pour votre site.

Neetu Morwani
la source