是否“禁用”扩展会减慢Joomla的速度!网站表现?


22

如果我的扩展管理器中有“已安装但已禁用”的扩展(而不是“完全卸载”),那么这些禁用的扩展是否会降低网站访问者的网站性能?

如果是,为什么?


我只能看到它可以提高性能,而不会降低网站速度。
chesedo 2014年

1
是的,禁用它应该有助于提高性能:)如果您不再使用它,那么最好将其卸载。
chesedo 2014年

2
@Pieter我认为OP正在比较“已安装但已禁用”扩展名与“根本没有安装该扩展名”。
MrWhite

1
@ w3d可能是。NivF007您可以在问题中添加更多信息来解决此问题吗?
chesedo 2014年

1
在这种情况下,@ NivF007我认为您应该参考Lodder的答案,因为它是正确的答案(根据我的说法)。并感谢您的澄清:)
chesedo 2014年

Answers:


16

实际上,通过禁用而不是卸载它们确实使站点速度稍有下降,因为在加载插件时,它会检查已启用的插件并运行它们。例如,如果您有100个插件,并且其中有50个已启用,则该where()子句也必须筛选出50个禁用的插件。您不会注意到那么多的速度(取决于您拥有多少个扩展名),但是最好将它们卸载。

在后端查看扩展程序管理器时,您实际上会注意到速度差异。


1
禁用的插件不收取任何罚款。它们被加载为-github.com/joomla/joomla-cms/blob/…–
Shyam

1
错误。您会看到它检查哪些扩展名具有特定值,因此,如果您有大量禁用的扩展名,则还有更多要检查的内容;)
Lodder 2014年

3
Shyam的答案是正确的,WHERE无论您拥有多少个插件,其复杂度都是一样的。我们不应该建议有人根据基本mysql查询中的纳秒差异卸载插件。
Spunkie 2014年

4
@Spunkie,虽然它不会增加WHERE的复杂性,但WHERE仍会执行并仅选择已启用> = 1的那些行。已启用的列不是索引,这意味着查询必须检查其中每行的该列桌子。检查100行以获取10个活动插件效率不高,删除它们可以加快查询速度,但是要花一点时间。
Don Gilbert

1
@miroxlav-执行查询所花费时间的差异将根据扩展数量而有所不同。如果您卸载说10个扩展名将是毫秒,但是如果站点很大并且最终卸载了250个扩展名,那么您将看到这不仅仅是毫秒。如今,Akeeba Subs等许多扩展仅包含
Lodder 2014年

6

不会。它们不会降低您网站的性能。


运行时根本没有引用“已禁用”扩展吗?即。系统甚至不需要检查它是否已启用?(并不是说即使这样做也会“放慢速度”。)
MrWhite

1
1.如果它是插件/模块,则不会被选择,因此不会被加载。2.如果它是组件,那么直到需要时才将其包括在内。
Shyam

@shyam,对不起,但你错了。请参阅我的答案以获取有关如何降低速度的详细信息;)
Lodder 2014年

1
但是有一个惩罚-在较大的表上查询要比在较小的表上查询花费更长的时间。搜索100个禁用的插件以找到10个已启用的插件很慢。删除这100行会完全加快速度。
Don Gilbert

1
>唯一可能的惩罚是...这是不正确的。每次系统启动时,它将从扩展表中加载所有条目,扩展表是JPluginHelper::importPlugin('system');调用中的系统插件。加载更少的条目===减少加载时间。无论您是否将其定义为微优化,它仍然存在。OP询问是否会降低访问者的网站性能。由于时间太短,因此零性能问题将不复存在。不过,它仍然会在每一个请求上影响它,而不仅仅是分钟,不仅是管理插件屏幕。
唐·吉尔伯特

6

如果您因禁用扩展名而担心网站的速度-那么您担心的是错误的事情...获得一个不错的Web主机,并且由于禁用插件而使您的网站消耗的毫秒数将不成问题。

同样只是因为您在Joomla中禁用了它并不意味着它不能直接通过URL访问,并且它可能具有的任何安全漏洞仍然可以被利用。

最后,仅因为禁用了插件,并不意味着某些插件不会启动/运行,某些插件将被调用,并且它们将自行检查是否允许运行!


这是更详细的答案。将卸载的插件保留在您的站点中的安全隐患比速度要大得多。
Michael Yaeger
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.