Les extensions «désactivées» ralentissent-elles Joomla! performances du site?

22

Si j'ai des extensions «installées mais désactivées» dans mon gestionnaire d'extensions (par opposition à «complètement désinstallées»), ces extensions désactivées ralentissent-elles les performances du site Web pour les visiteurs du site Web?

Si oui, pourquoi?

NivF007
la source
Je peux seulement voir que cela accélérera les performances et ne ralentira pas le site.
chesedo
1
Oui, sa désactivation devrait aider à accélérer les performances :) Si vous ne les utiliserez plus, la désinstallation serait préférable.
chesedo
2
@Pieter Je pense que l'OP compare une extension "installée mais désactivée" à "ne pas avoir l'extension du tout installée".
MrWhite
1
@ w3d pourrait l'être. NivF007 pouvez-vous ajouter plus d'informations à la question pour clarifier cela?
chesedo
1
@ NivF007 dans ce cas, je pense que vous devriez vous référer à la réponse de Lodder car elle est la bonne (selon moi). Et merci pour la clarification :)
chesedo

Réponses:

16

En fait, il ralentit le site le moins du monde en les désactivant plutôt qu'en les désinstallant, car lors du chargement d'un plugin, il vérifie ceux qui sont activés et les exécute. Si vous avez 100 plugins par exemple et 50 d'entre eux sont activés, la where()clause devra également passer en revue les 50 désactivés. Ce n'est pas une vitesse que vous remarquerez beaucoup (selon le nombre d'extensions que vous avez), mais il serait préférable de les désinstaller.

Lorsque vous visualisez le gestionnaire d'extensions dans le backend, vous remarquerez réellement la différence de vitesse.

Lodder
la source
1
Il n'y a aucune pénalité pour les plugins désactivés. Ils sont chargés en tant que - github.com/joomla/joomla-cms/blob/…
Shyam
1
Faux. Vous voyez qu'il vérifie quelles extensions ont une valeur spécifique, donc si vous avez une charge d'extensions désactivées, alors il y a plus à vérifier;)
Lodder
3
La réponse de Shyam est correcte, la WHEREcomplexité sera la même quel que soit le nombre de plugins dont vous disposez. Nous ne devrions pas recommander à quelqu'un de désinstaller les plugins en fonction de la différence de nanosecondes dans les requêtes de base mysql.
Spunkie
4
@Spunkie, bien qu'il n'augmente pas la complexité du WHERE, le WHERE s'exécute toujours et sélectionne UNIQUEMENT les lignes où activé> = 1. La colonne activée n'est pas un index, ce qui signifie que la requête doit vérifier cette colonne sur chaque ligne de la table. La vérification de 100 lignes pour obtenir 10 plugins actifs n'est pas efficace, et leur suppression accélère la requête, cependant minutieusement.
Don Gilbert
1
@miroxlav - La différence dans le temps nécessaire à l'exécution de la requête variera en fonction du nombre d'extensions. Il faudra des millisecondes si vous désinstallez, disons 10 extensions, mais si vous avez un site massif et finissez par désinstaller 250 extensions, vous verrez que c'est plus que des millisecondes. De nombreuses extensions aujourd'hui, comme Akeeba Subs, sont fournies avec plus ou moins 20 plugins seuls
Lodder
6

Non. Ils ne ralentissent pas les performances de votre site Web.

Shyam
la source
Une extension "désactivée" n'est-elle pas référencée du tout au moment de l'exécution? c'est à dire. Le système n'a même pas besoin de vérifier qu'il est activé ou non? (Non pas que cela "ralentirait" même si c'était le cas.)
MrWhite
1
1. S'il s'agit d'un plugin / module, il ne sera pas sélectionné et ne sera donc pas chargé. 2. S'il s'agit d'un composant, il ne sera pas inclus tant qu'il ne sera pas requis.
Shyam
@shyam, désolé mais vous vous trompez. Veuillez voir ma réponse pour plus de détails sur la façon dont cela peut ralentir;)
Lodder
1
Il y a cependant une pénalité: les requêtes sur des tables plus grandes prennent plus de temps que les requêtes sur des tables plus petites. La recherche parmi 100 plugins désactivés pour trouver 10 qui sont activés est lente. Supprimer ces 100 lignes accélère complètement un peu.
Don Gilbert
1
> la seule pénalité potentielle est ... C'est incorrect. Chaque fois que le système démarre, il charge chaque entrée de la table d'extensions qui est un plugin système dans l' JPluginHelper::importPlugin('system');appel. Chargement de moins d'entrées === moins de temps de chargement. Que vous la définissiez comme une micro-optimisation ou non, elle existe toujours. OP a demandé si cela ralentit les performances du site pour les visiteurs. Puisqu'il est si minuscule, il n'y aura aucun problème de performance notable. Cependant, il l'affecte toujours, mais minutieusement, à chaque demande, pas seulement à l'écran du plugin d'administration.
Don Gilbert
6

Si vous vous inquiétez de la vitesse de votre site Web à cause des extensions désactivées - alors vous vous inquiétez de la mauvaise chose ... Obtenez un hébergeur décent et les millisecondes que votre site consomme à cause des plugins désactivés ne seront pas un problème.

Le fait que vous l'ayez désactivé dans Joomla ne signifie pas non plus qu'il n'est pas accessible directement par URL, et que toutes les vulnérabilités de sécurité qu'il pourrait avoir peuvent encore être exploitées.

Enfin, juste parce qu'un plugin est désactivé, cela ne signifie pas que certains plugins ne se déclenchent pas / ne s'exécutent pas, certains plugins seront invoqués et ils vérifieront s'ils sont autorisés à s'exécuter ou non!

Phil Taylor
la source
Ceci est une réponse plus détaillée. Les risques de sécurité de laisser des plugins désinstallés sur votre site sont un problème beaucoup plus important que la vitesse.
Michael Yaeger