Verkkopalvelujen optimointiin on käytettävissä aiemmissa artikkeleissa käsiteltyjen kolmen pääalueen lisäksi suuri määrä pienempiä parannuksia. Mitä pienempää osajoukkoon päin mennään, sitä heikommaksi kuitenkin työmäärä-hyöty-suhde tulee. Tähän kappaleeseen on kuitenkin kerätty vielä joukko muita tehokkaita keinoja, jotka edelleen parantavat hyvällä hyötysuhteella pääperiaatteiden mukaisesti optimoitua verkkopalvelua.

Selaimen renderöinnin optimoinnin taustalla on se periaate, että asiakkaalle näkyvä osa halutaan esittää kooditasolla mahdollisimman tehokkaalla tavalla. Koska esim. värit, muodot ja muut tyylin asetukset tehdään CSS-tiedostoilla, täytyy selaimen renderöidä ne grafiikkana asiakkaalle. CSS-koodia optimoimalla voidaan parantaa selainten renderöintinopeutta. Yleisiä sääntöjä CSS-optimointiin ovat universaalien valitsimien välttäminen, niin tarkkojen määrittelyiden teko kuin mahdollista ja redundanttien valitsimien poisto. Näillä keinoin CSS-tyylitiedosto suoritetaan mahdollisimman nopeasti. Myös CSS-expressiot sekä @import-määreet hidastavat renderöintiä, ja tämän takia niiden sijaan kannattaa käyttää vaihtoehtoisia menetelmiä.

Verkkopalvelun toimintaa voidaan huomattavasti nopeuttaa myös asynkronisella latauksella(AJAX). Tämä tarkoittaa sitä, että websivua ei ladata aina kokonaan uudestaan, vaan palvelimelle lähetetään pyyntö ainoastaan tarvittavasta sivun osasta, ja tämä osa päivitetään. Tämä pienentää loogisesti latausmäärien suuruutta, kun mitään ylimääräistä ei ladata selaimeen. Tekniikan avulla voidaan myös ladata resursseja etukäteen muistiin. Normaalisti sivu näytetään aina vasta sen jälkeen, kun kaikki osat on ladattu onnistuneesti palvelimelta ja renderöity. Asynkronisen latauksen avulla sivu voidaan kuitenkin näyttää etukäteen, jo ennen kuin kaikki resurssit ovat valmiina. Vaikka tämä erityistapaus ei teknisestä näkökulmasta nopeuta sivun kokonaislatausaikaa, se nopeuttaa käytettävyyttä huomattavasti, sillä tällöin käyttäjä voi aloittaa sivuston käytön ja tarkastelun loppuosan latautuessa taustalla.

Usein varsinkin suuremmilla sivustoilla käytössä oleva optimointikeino on hajautettu samanaikainen lataus eri isäntäkoneilta. HTTP 1.1 määrittelyn mukaan selain ei voi ladata yhdestä isäntäkoneesta kuin kahta resurssia kerrallaan samanaikaisesti. Tämä aiheuttaa sen, että vaikka asiakaspuolen kaistanleveys olisi suuri mutta palvelin on hitaampi, niin kaikki resurssit joudutaan lataamaan jonossa kaksi kerrallaan. Tätä prosessia jatkuu niin kauan, kunnes kaikki resurssit on ladattu ja sivu voidaan renderöidä. Tämä rajoitus voidaan kiertää tarjoamalla ladattava sisältö samanaikaisesti eri isäntäkoneilta. Palvelin voi olla sama, mutta tarkoitusta varten luodaan monia CNAME-aliaksia, jolloin selain tunnistaa sisällön tulevan monesta eri lähteestä. Tällä tavoin tiedostojen lataus voidaan optimoida rinnakkaiseksi, ja erityisesti CDN-verkkojen kanssa hajautettu rinnakkainen lataus on suorituskykyinen optimointikeino.

Seuraavassa osassa käymme läpi vaikutuksia, joita näillä optimointikeinoilla saavutetaan.

 

Kaikki tämän juttusarjan artikkelit löydät tagin "nopeusoptimointi" alta, tai klikkaamalla tästä linkistä.

 

Lisätietoa osoitteessa: http://lamia.fi/