Percona és Varnish

21 March 2020
it

Szeretem a Joomlát, sokat köszönhetek neki, de piszok lassú tud lenni, akkor is, ha nincs agyonpluginozva. Így, hogy a pvga.hu és a skip.pvga.hu is Joomla alapú, kellett valami módszert találjak arra, hogy fel tudjam őket gyorsítani. Az alap, hogy van memcached, de nem volt elég.

Varnish

A Varnish egy HTTP cache. Egy reverse proxy, ami a webszerver és tulajdonképpen Te közéd kerül. A lekéréseket neki küldöd, az pedig továbbítja a webszerver felé és rajta keresztül halad vissza. A konfigban megadott ideig tárolja a lekérések eredményét memóriában vagy a merevlemezen, így nem kell a webszerverhez fordulni, elég ha betölti a memóriából a korábban letöltött adatot.

Ha nem ebben az “iparban” dolgozol, felmerülhet a kérdés, hogy mégis ennek milyen haszna van, nem elég gyors a webszerver? A válasz: de, maga a webszerver nyilván gyors, de az alkalmazás, ami fut benne, már más tészta. Egy webalkalmazás - bármiben is legyen írva - dinamikus. Adatbázist vagy a fájlrendszert használja, lassú műveleteket hajthat végre, sokszor feleslegesen. Ha egy látogató utánad 1 másodperccel tölti be az oldalt, nem valószínű, hogy van értelme újra betölteni adatbázisból a menüpont elemeit, a hírek szövegét vagy akár csak beolvasni merevlemezről a képeket, hogyha a memóriába is tehetnénk és onnan adhatnánk át. Gyakorlatilag statikussá teszi az oldalt vagy bizonyos elemeit addig, amíg nem szükséges frissíteni, tehát valami változás nem történik.

Percona

A Varnish mellett még egy apróság: a MySQL szervert a PVGA VPS-en Perconára cseréltem. Itt-ott érezhetően gyorsult pár weboldal ennek hatására. A Percona drop-in replacement a MySQL/MariaDB-re, úgyhogy azon kívül, hogy telepítettem, semmi dolgom nem volt és eddig úgy fest, hogy minden hibátlanul megy vele. Ettől függetlenül erősen teszt fázisban van a szerveren és ha valami baj adódik miatta, visszaváltok MySQL-re.