Optymalizacja Joomla! – każdy kto ma serwis z prawdziwego zdarzenia, wie co to znaczy 1-2-3-5-10 tys. wejść dziennie. Chciałoby się powiedzieć tłum – masakra, ale jakże miła, hihi. Dziś na trafiłem na wpis dotyczący 2 prostych sztuczek do przyspieszenia Joomla!.
Sztuczka 1 – Cachowanie modułów:
Nie wszystkie dodatkowe doinstalowane przez ciebie moduły dla Joomla! 1.5 używają buforowania (cachowania). Oznacza to, że w najgorszym wypadku niektóre moduły mogą tworzyć zbyt wiele zapytań SQL. Sposób, aby zmniejszyć obciążenia to uaktywnić moduł buforowania. Sprawdź w panelu administratora ustawienia modułów (te które doinstalowałeś) czy można w nich włączyć / wyłączyć pamięć podręczną. Jeśli nie, wtedy przyda ci się owa porada:
Dla każdego modułu bez opcji pamięci podręcznej, otwórz plik XML w folderze : /modules /mod_nazwa-modulu/mod_nazwa-modulu.xml i dodaj między <params> .. </params> następujący kod:
<param name="cache" type="radio" default="0" label="Enable Cache" description="Select whether to cache the content of this module"> <option value="0">No</option> <option value="1">Yes</option> </param>
Zauważysz, że <params> .. </ params> nie istnieją, wystarczy dodać rozbudowaną wersję jak poniżej:
<params> <param name="cache" type="radio" default="0" label="Enable Cache" description="Select whether to cache the content of this module"> <option value="0">No</option> <option value="1">Yes</option> </param> </params>
Teraz napisz pliki .xml na serwerze i wejdź do opcji konfiguracyjnych i uaktywnij cachowanie.
Sztuczka 2 – biblioteki JavaScript library mootols.js z serwera google
Nikt nie ma takich serwerów jak google, więc czemu by skorzystać z % tej mocy. Na serwerze poszukaj pliku /libraries/joomla/html/html/behavior.php – skopiuj go na dysk – odnajdź fragment i zmodyfikuj według schematu.
if ($debug || $konkcheck) { JHTML::script('mootools-uncompressed.js', 'media/system/js/', false); } else { //JHTML::script('mootools.js', 'media/system/js/', false); // old Joomla code JHTML::script('mootools-yui-compressed.js', 'http://ajax.googleapis.com/ajax/libs/mootools/1.11/', false); }
Następnie zapisz zmiany i wyślij na serwer, powinno zadziałać w 99,9%. Różnice odczujesz już na drugi dzień przeglądając obciążenie serwera. Ja testuje od już od 4 godzin i wygląda nieźle.
Źródło – oryginalny tekst autorstwa Cedric Walter – znajdziesz na stronie : www.waltercedric.com
p.s. Chyba nie muszę przypominać, iż zmiany w kodzie robicie na własne ryzyko, a kopia (pełna) jest wielce zalecana.
Co do drugiej sztuczki istnieje dodatek o nazwie
Google Ajax library (http://extensions.joomla.org/extensions/core-enhancements/scripts/6981), który umożliwia ściąganie Mootools i JQuery z serwera Google. Działa jednak tylko w stosunku do bazowej instalacji, jeżeli jakiś moduł lub komponent używa „swojego” skryptu, trzeba dokonać zmiany w jego kodzie jak w tutejszym przykładzie.
Witaj! Ten mootools.js nie jest domyślnie instalowany z Joomla? Za co odpowiada ten skrypt? Wiesz… wg Web Page Speed Report ten skrypt ma u mnie największy rozmiar… Proponujesz go zastąpić zmodyfikowanym – dobrze rozumiem? DZIĘKI :) Pozdrawiam
mootools.js znajdziesz w swojej standardowej paczce joomla, jeśli nie wiesz to znajdziesz tam nawet dwie wersje bowiem bodajże od wersji 1.5.20 dodano nowszą bibliotekę.
Artykuł chyba się troszeczkę zdeaktualizował, obecnie mamy Joomlę 1.7 i tam drugi przykład biblioteki JavaScript library mootols.js z serwera google już chyba nie zadziała, ja szukałem tego rozwiązania i nie mogłem znaleźć.
Witam,
ten zabieg z .xml nie działa dla joomla 2.5. wie ktoś jak uzyskać ten efekt na joomli 2.5 ?
pozdrawiam