AfterDawn muutti Hollantiin, palvelimet uuteen uskoon

Petteri Pyyny
28. syyskuuta, 2011 10:29

Tänään AfterDawnin - ja kaikkien sen sisarsivustojen - taustalla pyörivä tekniikka muuttui aikalailla radikaalisti. Samaan syssyyn päivitimme myös palvelinrautamme ja siirsimme palvelun hostauksen Yhdysvalloista Alankomaihin. Edellisestä suuresta palvelinpäivityksestämme alkaakin olemaan aikaa melko tarkalleen neljä vuotta, joten samalla rahalla saakin jo mukavasti tehokkaampaa rautaa kuin aiemmin..
Tällä kertaa kyseessä ei siis ollut pelkkä raudan päivittäminen tehokkaampaan, vaan samalla teimme myös aika ison irtioton aiempaan rakenteeseemme. Ensimmäinen, isohko muutos oli sovelluspalvelinohjelmistomme (==application server) päivittäminen wanhasta New Atlantan kehittämästä closed source -ohjelmistosta, BlueDragonista sen avoimen lähdekoodin manttelinperijään Open BlueDragoniin. Tämä muutos vaikuttaa jatkossa palvelun kehittymiseen monellakin tavalla, sillä vanha BlueDragon alkoi olemaan jo jonkinlainen rasite tiettyjen ominaisuuksien puutteen vuoksi. Ja tietysti plussana sekin, että samalla viimeinenkin osa sivustomme pääkomponenteista siirtyi avoimen lähdekoodin käyttöön.
Merkittävin uudistus liittyy kuitenkin Varnishin käyttöönottoon. Varnish on käänteinen proxypalvelin, eli se luo sivuista välimuistiversion, jonka se toimittaa käyttäjän selaimeen. Käytännössä homma toimii siis niin, että kun käyttäjä tulee sivuillemme, hän ei tulekaan "oikeasti" varsinaiselle palvelimelle, vaan palvelimelle, joka pyörittää Varnishia. Varnishissa on staattiseksi HTML:ksi muutetut versiot kaikista sivuista, joita (sisäänkirjautumattomat) käyttäjät ovat edellisen 15 minuutin aikana ladanneet. Mikäli sivu, jolle käyttäjä tulee, löytyy Varnishilta, toimitetaan tuo valmis HTML-sivu käyttäjälle ja varsinaisille sovelluspalvelimille ei tehdä minkäänlaista pyyntöä.
Koska valtaosa sivulatauksista tapahtuu sisäänkirjautumattomille käyttäjille, voidaan sama versio sivusta toimittaa sellaisenaan todella usein suoraan Varnishin välimuistista. Kaikki tämä taas vähentää suoraan varsinaisten palvelinten, eli Apachen, OBD:n ja MySQL:n, kuormaa, koska ideaalitilanteessa lähes 80-90% kaikista sivulatauksista tapahtuu suoraan Varnishista -- eli varsinaisten palvelinten kuormitus tipahtaa suurinpiirtein samassa suhteessa alaspäin.
Kun samaan aikaan lisäsimme myös palvelinten muskeleita varsin merkittävästi, pitäisi myös noiden 10-20% sivulatauksista, jotka päätyvät varsinaisille palvelimille, tapahtua varsin rivakasti.
Jotta homma ei nyt ihan simppeliltä vaikuttaisi, lisäsimme soppaan myös pienen maantieteellisen elementin. Yhdysvallat on yrityksellemme varsin tärkeä markkina ja sivuston siirto USAsta Hollantiin aiheutta väistämättä pientä viivettä aiempaan verrattuna amerikkalaisille käyttäjille, joten ratkaisimme asian niin, että Pohjois-Amerikasta tulevat käyttäjät käyttävät Yhdysvalloissa sijaitsevaa Varnish-palvelinta (eli 80-90% USAn sivulatauksista tulee suoraan siellä olevasta välimuistipalvelimesta) -- eli vain sisäänkirjautuneet amerikkalaiskäyttäjät ohjautuvat käyttämään varsinaisia palvelimiamme Hollannissa.
Pikainen yhteenveto vielä uudesta raudasta:


Mahdolliset ongelmat uuden palvelinrakenteen kanssa liittyvätkin juuri Varnishin käyttöön ja välimuistin tyhjennykseen tarvittaessa. Mahdolliset välimuistiongelmat eivät näy sisäänkirjautuneille käyttäjillemme koskaan, koska Varnish tarjoaa heille aina dynaamisesti luodut sivut "oikeilta" palvelimilta. Mutta seuraavien päivien aikana toivommekin palautetta etenkin tilanteista, joissa sisäänkirjautumaton käyttäjä ei näe sisältöä, jonka pitäisi näkyä (esim. uusi uutinen ei näy etusivun listassa, viestiketjusta puuttuu uusin viesti, jne). Ja tietysti, muutkin ongelmatilanteet ovat mahdollisia, sen verran monta palasta muutettiin kertarysäyksellä uuteen uskoon. Eli palaute on tervetullutta.
Tuntuuko saitti hitaammalta / nopeammalta nyt? Tuntuuko, että jokin saitin osa-alue ei toimi kuten pitäisi? Kerro meille joko kommentoimalla tähän uutiseen tai suoraan palautelomakkeemme kautta.

Lue myös nämä
Tägit
AfterDawn
Käytämme evästeitä sivuillamme. Näin parannamme palveluamme.