Czy „wyłączone” rozszerzenia spowalniają Joomla! wydajność strony?

22

Jeśli mam rozszerzenia „zainstalowane, ale wyłączone” w menedżerze rozszerzeń (w przeciwieństwie do „całkowicie odinstalowanych”), czy te wyłączone rozszerzenia spowalniają działanie strony internetowej dla odwiedzających?

Jeśli tak, dlaczego?

NivF007
źródło
Widzę tylko, że przyspieszy to działanie, a nie spowolni działanie witryny.
chesedo
1
Tak, wyłączenie powinno pomóc przyspieszyć działanie :) Jeśli nie będziesz już więcej z niego korzystać, najlepiej go odinstalować.
chesedo
2
@Pieter Myślę, że OP porównuje „zainstalowane, ale wyłączone” rozszerzenie z „brakiem zainstalowanego rozszerzenia”.
MrWhite
1
@ w3d może być. NivF007 czy możesz dodać więcej informacji do pytania, aby to wyjaśnić?
chesedo
1
@ NivF007 w takim przypadku myślę, że powinieneś odnieść się do odpowiedzi Loddera, ponieważ jest ona poprawna (według mnie). I dzięki za wyjaśnienia :)
chesedo

Odpowiedzi:

16

W rzeczywistości spowalnia witrynę w najmniejszym stopniu, wyłączając ją, a nie odinstalowując, ponieważ podczas ładowania wtyczki sprawdza te, które są włączone i je uruchamia. Jeśli masz na przykład 100 wtyczek i 50 z nich jest włączonych, where()klauzula będzie musiała również przesiać 50 wyłączonych. Nie jest to prędkość, którą zauważysz tyle (w zależności od liczby posiadanych rozszerzeń), ale najlepiej byłoby je odinstalować.

Podczas przeglądania menedżera rozszerzeń w wewnętrznej bazie danych zauważysz różnicę prędkości.

Lodder
źródło
1
Wyłączone wtyczki nie podlegają karze. Są ładowane jako - github.com/joomla/joomla-cms/blob/…
Shyam
1
Źle. Widzisz, jak sprawdza, które rozszerzenia mają określoną wartość, więc jeśli masz mnóstwo wyłączonych rozszerzeń, to jest więcej do sprawdzenia;)
Lodder
3
Odpowiedź Shyama jest prawidłowa, WHEREbędzie taka sama złożoność bez względu na to, ile masz wtyczek. Nie powinniśmy polecać komuś odinstalowywania wtyczek na podstawie różnicy nanosekund w podstawowych zapytaniach mysql.
Spunkie
4
@Spunkie, chociaż nie zwiększa złożoności GDZIE, GDZIE nadal wykonuje i wybiera TYLKO te wiersze, w których jest włączona> = 1. Włączona kolumna nie jest indeksem, co oznacza, że ​​zapytanie musi sprawdzić tę kolumnę w każdym wierszu w stół. Sprawdzanie 100 wierszy, aby uzyskać 10 aktywnych wtyczek, nie jest wydajne, a usunięcie ich przyspiesza zapytanie, choć w najmniejszym stopniu.
Don Gilbert
1
@miroxlav - Różnica w czasie wykonywania zapytania będzie się różnić w zależności od liczby dostępnych rozszerzeń. Będzie to milisekund, jeśli odinstalujesz, powiedzmy 10 rozszerzeń, jednak jeśli masz ogromną witrynę i ostatecznie odinstalujesz 250 rozszerzeń, zobaczysz, że to więcej niż tylko milisekundy. Dzisiaj wiele rozszerzeń, takich jak Akeeba Subs, zawiera około 20 wtyczek
Lodder
6

Nie. Nie spowalniają działania Twojej witryny.

Shyam
źródło
Czy rozszerzenie „wyłączone” w ogóle nie jest przywoływane w czasie wykonywania? to znaczy. System nie musi nawet sprawdzać, czy jest włączony, czy nie? (Nie żeby to „spowolniło”, nawet gdyby to zrobiło).
MrWhite
1
1. Jeśli jest to wtyczka / moduł, nie zostanie wybrana, a zatem nie zostanie załadowana. 2. Jeśli jest to komponent, nie zostanie uwzględniony, dopóki nie będzie wymagany.
Shyam,
@shyam, przepraszam, ale się mylisz. Proszę zobaczyć moją odpowiedź, aby dowiedzieć się, jak to spowolnić;)
Lodder
1
Istnieje jednak kara - zapytania na większych stołach trwają dłużej niż zapytania na mniejszych stołach. Przeszukiwanie 100 wyłączonych wtyczek w celu znalezienia 10 włączonych jest powolne. Usunięcie tych 100 wierszy całkowicie przyspiesza to trochę.
Don Gilbert
1
> jedyną potencjalną karą jest ... To jest niepoprawne. Za każdym razem, gdy system uruchamia się, ładuje każdy wpis z tabeli rozszerzeń, która jest wtyczką systemową w JPluginHelper::importPlugin('system');wywołaniu. Ładowanie mniej wpisów === krótszy czas ładowania. Niezależnie od tego, czy zdefiniujesz go jako mikrooptymalizację, czy nie, nadal istnieje. OP Zapytano, czy to spowalnia działanie witryny dla odwiedzających. Ponieważ jest tak mała, nie będzie zauważalnych problemów z wydajnością. Wpływa to jednak, choć drobiazgowo, na każde żądanie, nie tylko na ekran wtyczki administratora.
Don Gilbert
6

Jeśli martwisz się szybkością swojej witryny z powodu wyłączonych rozszerzeń - to martwisz się złą rzeczą ... Zdobądź przyzwoity hosting, a milisekundy, jakie Twoja strona zużywa z powodu wyłączonych wtyczek, nie będą problemem.

Również fakt, że wyłączyłeś go w Joomla, nie oznacza, że ​​nie można uzyskać do niego bezpośredniego dostępu przez adres URL, a wszelkie luki w zabezpieczeniach, które może mieć, mogą być nadal wykorzystywane.

Wreszcie, tylko dlatego, że wtyczka jest wyłączona, nie oznacza to, że niektóre wtyczki nie uruchamiają się / uruchamiają, niektóre wtyczki zostaną wywołane i same sprawdzą, czy są dozwolone, czy nie!

Phil Taylor
źródło
To jest bardziej szczegółowa odpowiedź. Ryzyko związane z bezpieczeństwem pozostawiania odinstalowanych wtyczek w witrynie jest znacznie większym problemem niż szybkość.
Michael Yaeger,