22

If I have extensions "installed but disabled" in my extension manager (as opposed to "completely uninstalled"), do these disabled extensions slow down web site performance for web site visitors?

If yes, why?

8
  • I can only see that it will speed up performance not slow the site down.
    – chesedo
    Apr 23, 2014 at 8:35
  • 1
    Yes disabling it should help speed up performance :) If you won't be using it all any more, then uninstalling it would be best.
    – chesedo
    Apr 23, 2014 at 9:04
  • 2
    @Pieter I think the OP is comparing an "installed but disabled" extension versus "not having the extension installed at all".
    – MrWhite
    Apr 23, 2014 at 9:08
  • 1
    @w3d might be. NivF007 can you add some more info to the question to clear this up?
    – chesedo
    Apr 23, 2014 at 9:35
  • 1
    @NivF007 in that case I think you should refer to Lodder's answer as it is the correct one (according to me). And thanks for the clarification :)
    – chesedo
    Apr 23, 2014 at 15:12

3 Answers 3

16

Actually it does slow the site down in the slightest by having them disabled rather than uninstalled, as when loading a plugin, it checks the ones that are enabled and runs them. If you have 100 plugins for example and 50 of them are enabled, then the where() clause will have to sift through the 50 disabled ones too. Its not a speed that you will notice that much (depending on how many extensions you have), but it would be just best to uninstall them.

When viewing the extension manager in the backend, you will actually notice the speed difference.

9
  • 1
    There is no penalty for disabled plugins. They are loaded as - github.com/joomla/joomla-cms/blob/… Apr 23, 2014 at 16:29
  • 1
    Wrong. You see it checks which extensions have a specific value so if you have a load of disabled extensions, then there are more to check ;)
    – Lodder
    Apr 23, 2014 at 16:46
  • 3
    Shyam's answer is correct, the WHERE will be the same complexity no matter how many plugins you have. We should not be recommending someone uninstall plugins based on nanoseconds difference in basic mysql queries.
    – Spunkie
    Apr 23, 2014 at 16:49
  • 4
    @Spunkie, while it doesn't increase the complexity of the WHERE, the WHERE still executes and select ONLY those rows where enabled >= 1. The enabled column is not an index, which means the query must check that column on every row in the table. Checking 100 rows to get 10 active plugins isn't efficient, and removing them speeds up the query, however minutely. Apr 23, 2014 at 21:56
  • 1
    @miroxlav - The difference in the time taken to execute the query will vary depending on how many extensions there are. It will be milliseconds if you uninstall lets say 10 extensions, however if have a massive site and end up uninstalling 250 extensions, then you will see it's more than just milliseconds. Lots of extensions today such as Akeeba Subs come packed with more or less 20 plugins alone
    – Lodder
    May 6, 2014 at 7:16
6

No. They do not slow down performance of your website.

8
  • Is a "disabled" extension not referenced at all at runtime? ie. The system doesn't even need to check that it is enabled or not? (Not that it would "slow it down" even if it did.)
    – MrWhite
    Apr 23, 2014 at 9:42
  • 1
    1. If its a plugin/module, then it will not be selected hence not loaded. 2. If its a component, then it will not be included until required. Apr 23, 2014 at 10:29
  • @shyam, sorry but you're wrong. Please see my answer for details on how it can slow it down ;)
    – Lodder
    Apr 23, 2014 at 15:48
  • 1
    There is the penalty though - queries on bigger tables take longer than queries on smaller tables. Searching through 100 disabled plugins to find 10 that are enabled is slow. Remove those 100 rows completely speeds it up a bit. Apr 23, 2014 at 21:57
  • 1
    > the only potential penalty is ... This is incorrect. Every time the system boots, it loads every entry from the extensions table that is a system plugin in the JPluginHelper::importPlugin('system'); call. Loading less entries === less loading time. Regardless of if you define it as a micro-optimization or not, it still exists. OP asked if it slows down site performance for visitors. Since it's so minute, there will be zero noticeable performance issues. It still effects it though, however minutely, on every request, not just the admin plugin screen. May 7, 2014 at 15:37
6

If you are worried about the speed of your website because of disabled extensions - then you are worrying about the wrong thing... Get a decent webhost and the milliseconds your site consumes because of disabled plugins will be a non-issue.

Also just cause you have disabled it in Joomla doesn't mean it cannot be accessed directly by URL, and any security vulnerabilities it may have may still be exploited.

Lastly, just because a plugin is disabled, doesnt mean some plugins do not fire/run, some plugins will be invoked and they will check themselves if they are allowed to run or not!

1
  • This is a more detailed answer. The security risks of leaving uninstalled plugins in your site is a much bigger issue than the speed. Aug 11, 2016 at 13:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.