Wikipédia:Gyorsítótár

A Wikipédiából, a szabad enciklopédiából

A Wikipédia az óriási forgalom kiszolgálására számos különböző gyorsítótárat (cache-t) alkalmaz; ha a szerkesztésedet sikeresen elmentetted, mégse jelenik meg, valószínűleg ezek egyikébe futottál bele. Másfelől a gyorsítótárak lehetőségeinek kihasználásával a Wikipédia olvasása lényegesen gyorsabbá válhat.

Böngészőoldali gyorsítótár[szerkesztés]

A webböngészők eltárolják a képeket, CSS- és JavaScript-fájlokat, hogy ezeket ne kelljen minden alkalommal letölteniük. Ez a gyorsítótár független a Wikipédiától, a böngészők minden weboldalra használják. Általában ez a gyorsítótár az oka, ha (bejelentkezve) nem látsz egy képen egy olyan változást, amit mások már igen, vagy ha valamilyen szkript a változtatások ellenére is úgy működik, mint régen. A legtöbb böngésző a Ctrl-F5 gombok megnyomására újra letölti az éppen nézett oldalt és a hozzátartozó képeket és CSS-/JS-fájlokat, a gyorsítótár használata nélkül.

Fordított proxy[szerkesztés]

A Wikipédia számos fordított proxy (Varnish; régebben Squid) segítségével osztja meg a terhelést; a kéréseket mindig valamelyik közeli proxy szerver szolgálja ki (Európa esetében ez az amszterdami vagy a marseille-i szerverfarm egyik gépe). A proxy megkapja a központi szervertől a kész oldal HTTP-kódját, továbbítja a felhasználónak, és elraktározza; ha legközelebb ugyanazt az oldalt kéri valaki, már a szerverrel való kommunikáció nélkül küldi el a kódot. Amikor valaki megváltoztat egy oldalt, a központi szerver jelzi ezt a proxy szervereknek, amik érvénytelenítik az oldal náluk lévő másolatát, és ha legközelebb keresi valaki, újra lekérik a szervertől; ha a megváltoztatott oldal egy sablon, amitől más oldalak megjelenése is függ, azokat is érvénytelenítik.

A nagyon sokat használt sablonok megváltoztatásakor rengeteg oldalt kéne eldobni az átmeneti tárból, ezért az ilyen sablonok rendszerint védettek, hogy csak valóban indokolt esetben módosítsák őket. Hasonló okokból tilos aláírásba sablont tenni. Egyes MediaWiki-névtérbeli lapok (mint például a minden lap címe alatt megjelenő tagline) nagyon sok vagy akár az összes lap megjelenését megváltoztatják, ezért az ilyen lapok szerkesztése a túlterhelést elkerülendő nem érvényteleníti a gyorsítótárakat, és a változtatások nem bejelentkezett olvasóknak néha csak többnapos késéssel jelennek meg.

A bejelentkezett felhasználók mindig megkerülik a fordított proxykat, mert a nekik küldendő HTML-kód nem ugyanaz – szerepel benne pl. az adott felhasználó szerkesztői lapjára mutató link. A bejelentkezés azonban nem az egyetlen tényező; egy kijelentkezett felhasználó is elkerülheti a fordított proxyt, ha az általa küldött HTTP kérés különbözik az átlagostól, például mert egy sütit tartalmaz. Ezért (is) kerülendő minden, ami a be nem jelentkezett olvasók jelentős részénél sütit állítana be, és ezáltal lassítaná számukra a böngészést.

Fordító-gyorsítótár[szerkesztés]

A wikikód HTML-re fordítása a lapok megjelenítésének egyik legidőigényesebb része, ezért a végeredmény eltárolódik a Wikipédia szervereinek belső fordító-gyorsítótárában (parser cache) is; ha egy lap betöltésekor innen generálódik számodra a HTML forrás, az akár egy nagyságrenddel is gyorsabb lehet, mintha a fordítónak kéne működésbe lépnie. Bizonyos beállítások befolyásolják a fordító működését, ha ezeket az alapértelmezettől eltérőre állítod, akkor nagyrészt elesel ennek a gyorsítótárnak az előnyeitől, és a lapok sokkal lassabban jelennek meg. A legfontosabb ilyen beállítások a bélyegképek mérete (alapértelmezett: 220px) és a képletmegjelenítés (alapértelmezett: HTML, ha nagyon egyszerű). Tovább gyorsítható a lapok megjelenítése, ha a jelölt lapváltozatokra a be nem jelentkezett olvasókéval azonos működést állítunk be. (Részletek: [1][2])

Lapváltozat-gyorsítótár[szerkesztés]

A Wikipédia külön (lassú, de nagy tárhellyel rendelkező) szervereken tárolja a régi lapváltozatokat; amikor szükség van rájuk, ezek is egy gyorsítótárba kerülnek. (Ennek felhasználói szemmel nem sok jelentősége van, csak a teljesség miatt szerepel itt.)

Túlterheltség[szerkesztés]

Túlterheltség esetén a gyorsítótárak nem ürülnek ki időben, így bejelentkezett olvasóknál néhány perc késéssel jelennek csak meg a változtatások, nem bejelentkezettek pedig akár több nappal korábbi változatokat is láthatnak. Ilyenkor a purge paranccsal lehet kiüríteni az adott lap szerveroldali gyorsítótárát: használatához egyszerűen írjuk hozzá az adott lap címéhez a ?action=purge (ha van már benne ?, akkor &action=purge) szöveget. Például ezen lap kiürítése a gyorsítótárból: //hu.wikipedia.org/w/index.php?title=Wikip%C3%A9dia:Gyors%C3%ADt%C3%B3t%C3%A1r&action=purge.

További információ[szerkesztés]