Cache-palikkaa ruuhkasivuille

Aloittaja weatherc, torstai, 04.02.2010, 12:26

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

weatherc

Tuossa oli tuolla Tanskalaisella projekti-sivulla "pientä" ruuhkaa pari päivää sitten siellä vallinneen lumimyrskyn takia ja piti löytää siihen cache-systeemiä. Mulla nyt live-testissä nordicweatherissä palikka joka näyttää toimivan todella hyvin, on ollut siinä käytössä nyt 2 päivää.

Tämä tallentaa cacheehen sivun 4:ksi minuutiksi jonka aikana näytetään tallennettu sivu sen sijaan että php generoi sen uudelleen alusta joka kerta. Koska kaikki "realtime"-data päivittyy Javascriptin AJAX:illa tämä ei mitenkään hidasta päivityksiä.

Sen lisäksi että tämä vähentää serverin rasitusta ruuhkan aikana se myös nopeuttaa sivun latausta kun sivu tulee cachesta. Testasin ajastimeilla ja tulos oli häikäsevä, cachesta sivun puskeminen ulos kesti vain 0.1% siitä ajasta mitä kesti generoida se, esim. 2 sekuntia generoiminen alusta ja 0.002 sekuntia cachesta puskeminen. (html-osa, ei siis kuvat ym.)

Kaiken kukkuraksi se on erittäin simppeli asentaa :)
Tämä on asia jota mulla oli to-do-listalla mutta vasta pikkasen myöhemmin mutta ennen ukkoskautta mutta tuli siis ajankohtaiseksi jo nyt. Mikäli/sikäli ei probleemia ilmene (annetaan se nyt raksutta vähän aikaa) niin pistän ohjeet tulemaan jotta esim. tutkasivut voivat asentaa sen, suosittelen lämpimästi kaikille joilla pelkoa ruuhkasta ukkosten saavuttaessa  ;D

pS. Silloin oli myös heidän dmi:n sivut lähes täysin jumissa joten ei ollut vain projektisivun ongelma.  ;D

tito

LainaaKaiken kukkuraksi se on erittäin simppeli asentaa
Anteeksi vaan, mutta jotenkin nämä jutut menevät ainakin minulla yli hilseen. Onko mahdotonta antaa hieman tarkempaa tietoa ja opetusta, vai olenko ainut jolle nämä ovat hepreaa. ??? ??? ???

weatherc

Ok, otetaan ensin muutama nimike:
Cache -  eli suomeksi välimuisti
php - ohjelmointikieli jota mm. mun ja teutarin sivut käyttävät jossa tiedot generoidaan joko kokonaan tai osittain dynaamisesti
html - staattinen websivu jossa kaikki tiedot (data) on kirjoitettu valmiiksi.
AJAX - Javascriptillä toimiva toiminto joka päivittää sivun tietoja ilman että tarvii ladata sivu uudestaan. tämä toimii niin html kun php-sivuilla. Niin minun kun teutari ja monella muulla on tämä käytössä esim etusivuijen säätiedoissa.

Php-sivu on "ihan kiva" siinä mielessä että sen tiedot ovat dynaamisia eli ne voidaan määritellä eri funktioden avuilla muuttuviksi, helppona esimerkkinä, aamulla se kirjoittaa Hyvää huomenta ja illalla Hyvää Iltaa.
Se tosin vaatii enemmän tehoja palvelimelta kun staattisen html-sivun tarjoaminen, jossa kaikki tiedot ovat valmiina. Tämä korostuu silloin kun palvelimella on paljon liikennettä, meidän tapauksissa ukkosten aikaan. Tämä on se syy miksi mm. minun ja teutarin sivut asustaa nykyään virtuaali-serverillä koska normi webhotellit heitti meidät pihalle. Koska virtuaali on minun hallussa voidaan tarvittaessa asentaa palikoita jota ei normi hotellit asenna sekä muutenkin virittää sitä omien tarpeiden mukaisesti. Tämä cache-palikka on osa sitä virittelyä jossa tavoitteena saada mahdollisimman paljon tehoa/liikennettä mahtumaan ilman että homma alkaa hyytymään, kesän ukkoset silmälläpitäen.

Tähän voidaan ottaa avuksi cache eli välimuisti, josta tarjotaan sivut valmiiksi generoituna niin kauan kun välimuistissa oleva sivu on riittävän tuore.

Itse asiassa cache-skripti on lisäskripti joka ottaa "ruutukaappauksen" valmiista sivusta ja tallentaa sen välimuistiksi nimettyyn kansioon palvelimelle josta se sitten tarjotaan sen x määrän minuuttien ajan aina kun joku tulee sille sivulle. Jos ei riittävän tuoretta löydy, se generoidaan uudestaan.

En laittanut asennusohjetta vielä koska haluan ensin olla varma että toimii tuo skripti jonka löysin. Toisaalta meillä ei ole kiirettäkään vielä kun lunta tuvat täynnä :)

Snowi

Kuulostaa erittäin hyvältä. Pitänee asentaa tuo varmuuden vuoksi sitten itsellekin. Ainahan se on mukavampi että sivut pyörivät joutuvasti eikä turhia latauksia esiintyisi. Itsellä ei ole toistaiseksi muuta, kuin pakattu sivut sillä pienellä koodin pätkällä joka laitetaan sivun alkuun, ja koko tippui kaikissa sivuissa noin 80-90%.
Mutta edelleenkin olisi mahdollista tehdä vielä sitä sun tätä, jotta sivuista saisi vieläkin pienemmät  ;D