Címlap - Blog - Joomla teljesítmény
Joomla teljesítmény
Írta: Dobák Péter   
2010. szeptember 22. szerda, 13:10
Sok teljesítménybeli panasszal találkozok, olyan ügyfeleknél akik Joomla tartalomkezelő rendszert futtatnak a tárhelyen. Általában az ilyen problémát a szolgáltató számlájára írják de ez nem mindig van így.

Lássuk mit tehetünk Joomla alapú honlapunk sebességének javítása érdekében.

Manapság a Joomla az egyik legnépszerűbb ingyenes PHP nyelven írt tartalomkezelő rendszerek egyike. Rengeteg bővítmény érhető el hozzá amikkel gyakorlatilag minden feladatra használhatja a portálmotort. Éppen ezért fordulhatnak elő a címben említett problémák.

Sablonok optimalizálása
A sort a sablonok optimalizálásával kezdeném. Sok sablon érhető el Joomla-hoz melyek professzionális arculatot kölcsönöznek a honlapnak. A probléma éppen itt kezdődik ugyanis ezek nagy része sok képelemet tartalmaz. Minden képelem betöltése külön lekérés a szerver felé amelyek egyenként 0.1 és 1 másodperc közt is mozoghatnak és még le is kell tölteni azokat. A probléma csak növekszik ha ezek a képek nem optimális méretűek hanem nagyobbak. Gyakorlatilag felesleges egy képet 100*100 pixelben feltölteni ha elég a 10*10 is (CSS stílusok használatával lehetőség van "ismételtetni" mozaikba rendezni a kis képeket).

Gzip, talán...
A Gzip oldaltömörítés beállítása a problémák 90%-át megoldhatja. Ha a szolgáltató szerverének teljesítménye megengedi ajánlatos ezen funkció bekapcsolása. A Gzip tömörítés kicsit több CPU időt igényel így ritka esetben (főleg VPS-nél) a funkcióval csak rontunk a helyzeten. Ezzel kapcsolatban mindenképpen érdemes felvenni a kapcsolatot az adott hoszting cég ügyfélszolgálatával.

Nem minden komponens jó komponens
Ha a Joomla Extension Directory oldalain böngészünk megtalálhatunk minden bővítményt ami csak kellhet egy portál működéséhez, illetve funkcionalitásának bővítéséhez. A gond csak az, hogy ezen komponensek nem biztos, hogy optimálisan vannak megírva.
Csak azokat a komponenseket használja/aktiválja amelyekre valóban szükség van.

Statisztikák
A statisztikai rendszerek általában rengeteg SQL kérést használnak egy-egy látogató adatainak letárolásához. Csak olyan statisztikai rendszert érdemes bevezetni a honlapba amit teszteltek Joomla-val és megbizonyosodtak róla, hogy az nem lassítja drasztikusan. Több szolgáltatónál elérhetőek szerver naplófájl alapú statisztikák, használja ezeket.

Beépülő plugin-ek
A beépülő plugin-ek nagyon hasznos bővítmények a Joomla-ban. A probléma ezzel az, hogy ha ezeket nem átgondoltan használja akkor egy-egy oldal betöltésekkor többször is lefuthatnak így növelve a futási időt. Amely plugin-ek nincsenek használatban azokat kapcsolja ki és távolítsa el a rendszerből.

SEF, keresőbarát URL-ek
A legjobb dolog amit tehetünk a keresőben való jobb helyezésért az a keresőbarát URL -ek bevezetése. A Joomla-nak van beépített SEF funkciója ami egész használható és nem lassítja számottevően a rendszert. Viszont külső komponensek, plugin-ek alkalmazása már nem biztos, hogy célravezető sebesség szempontjából. A keresőbarát URL jó a keresőnek és a felhasználónak is viszont a futási időt minden esetben növeli.

Gyorsítótárazás
Egy másik nagyon hasznos dolog a gyorsítótárazás. A Joomla ehhez is kínál beépített megoldást. Amennyiben lehetséges használja az opciót mivel ezzel egy-egy oldal a generálást követően letárolódik egy fájlba ami X percig érvényes. Ez annyit jelent, hogy X percig nem terheljük felesleges kérésekkel sem az adatbázis szervert sem pedig a web kiszolgálót. Amikor lejár az adott folyamatban az adott időhatár akkor is csak egyszer frissül le az oldal.

Keresse meg a hibás lekéréseket
A webmesterek számára hasznos opció a debug bekapcsolása. Ilyenkor az egyes oldalak generálásához használt SQL lekéréseket kiírja a rendszer így követhető nyomon milyen lekérések történtek és ezek közül melyik az amelyik esetlegesen kritikus időt vett igénybe.

Hídkapcsolatok
Sok bővítmény érhető el amely a Joomla-t egy külső programmal köti össze, például egy fórum motorral, vagy galériával. Lehet, hogy a két szoftver külön-külön jó teljesítményt nyújt de híddal ez már nem biztos, hogy igaz. Ahhoz, hogy mindkét rendszer elvégezze a kért műveletet be kell tölteni az adott feladathoz való keretrendszerét. Tehát ha egy Joomla oldalba be van kötve az SMF fórum, akkor egyszer be kell tölteni a Joomla-nak, majd a hídon keresztül lekérni adatokat az SMF motortól aminek ehhez a háttérben el kell indulnia és megcsinálni a kért lekéréseket. Ez komoly mértékben lassíthatja egy oldal generálását.

Adatbázis optimalizálása
Ezt a lehetőség több komponens autómatikusan kihasználja (akár úgy is, hogy nem tudunk róla).
Mindenesetre ajánlott (főleg nagy forgalmú portáloknál) az adatbázis optimalizálása.
Ezt legegyszerűbben a webmester teheti meg a népszerű phpMyAdmin felületen keresztül.

Természetesen programozói oldalról még több optimalizációs lehetőség áll rendelkezésre, például a CSS és Javascript fájlok tömörítése.

joomlaperformance.com