Drupal nopeammaksi, osa 1/X

Posted on July 3, 2009

0


Drupalilla tehdyt verkkosivut takkuilevat? Yksinkertaisimmatkin sivut latautuvat todella hitaasti? Sivun välimuisti on päällä ja vauhti paranee, mutta nopeutta pitäisi silti saada lisää?

Drupal on erittäin monikäyttöinen alusta kaikenlaisiin verkkosivuihin. Monipuolisuudesta seuraa tekninen monimutkaisuus ja Drupalilla toteutetut verkkosivut saattavat käyttää vain murto-osaa kaikista ohjelmiston tarjoamista ominaisuuksista. Normaalin sivunlatauksen yhteydessä palvelimella tapahtuu vaikka mitä, joista moni toiminto voisi jäädä tavanomaisen sivunlatauksen kohdalla käyttämättäkin.
Normaalisti palvelimen muisti riittää pyörittämään Drupalia riittävän nopeasti, jotta sivunmuodostuksen vaatima aika pysyy pienenä. Pullonkaulana sivun muodostusajassa on tietokantahaut. Drupal voi käyttää normaalin noden muodostamiseen 20 tietokantahakua, jos tietokantayhteydet eivät ole kunnossa, sivujen muodostaminen voi kestää ikuisuuksia.

Työkaluja nopeuden seuraamiseksi

Nopeuden viilaaminen on parasta aloittaa kellottamalla sivunlatausten kestoja. Vaikka pääasiallisena huolenaiheena on tarkastella sekunnin ja pidempien aikojen hidastumisia, jotka voi havaita silmämääräisestikin, nopeuden mittaaminen siihen tarkoitetuilla ohjelmilla on varmempaa. Joskus hitaushan voi johtua käytetystä työasemasta, jonka takkuilulla ei ole mitään tekemistä sivunlatauden vaatiman ajan kanssa.

Drupalin Devel-moduuli on Drupalin sisäisten toimintojen mittaamiseen käytettävä ohjelma. Develillä saa monenlaista muutakin infortaatiota sivujen muodostumisesta, mutta yksinkertaisimmillaan sillä saa näkyviin sivun rakentamiseen kuluneen ajan. Tämä aika on nimenomaan se aika, joka alkaa Drupal saadessa sivupyynnön ja loppuu Drupalin ilmoittaessa sivunluonnin olevan valmis. Välissä on tavallisesti toistakymmentä tietokantahakua. HTTP-kutsuja ei käsittääkseni tähän aikaan tule.

YSlow on Yahoon kehittämä ilmainen lisäosa niinikään ilmaiseen Firebug-sovellukseen. Devel on hyödyllinen tutkittaessa Drupalin sisäistä toimintaa, mutta varsinaiset tiedot sivunlataukseen kuluneista vaiheista voidaan selvittää vain selaimesta kellottamalla. YSlow on tehty juuri tähän ja lisäksi se osaa neuvoa, millaisia hidastavia tekijöitä kuhunkin sivuun liittyy. YSlow tarvitsee Firebug-ohjelman, joka puolestaan toimii vain Firefoxissa. Ilmaisia kaikki ja saatavissa miltei kaikille alustoille.

Asennuksen jälkeen YSlow ilmestyy Firefoxin oikeaan alalaitaan, josta klikkaamalla ohjelma avaa ikkunan osittain sivun päälle. Ikkunasta voi käynnistää selaimessa parhaillaan auki olevan sivun tarkastamisen. Tarkastuksen jälkeen YSlow antaa sivulle nopeuteen ja tekniseen esteettömyyteen perustuvan arvosanan (numero), arvosanan teknisen toteutuksen laadusta (kirjain) ja listaa puutteet sivunlataukseen vaikuttavista tekijöistä ja neuvoja niiden korjaamiseksi. Valtaosa sivuista saa YSlowilta arvosanan 70…79. Google.fi saa 99, nethack.org 97. 71 tai alle on niin hidas sivu, että surffaaja ehtii jo ärsyyntymään. Hitauden sietäminen on tietenkin suhteellista, mutta tavoitteena pitäisi kaikkien sivujen kohdalla päästä vähintään arvoon 75-80. Kunnollisella palvelimella olevan, pelkkää validia HTML:ää sisältävän sivun tulisi päästä 90 yläpuolelle ilman optimointia.

Toivon, että pystyn kirjoittamaan Drupalin nopeuttamisesta monta artikkelia. Käytössä on tällä hetkellä Drupal 6.12 ja ensi vuonna tilanne tullee muuttumaan Drupal 7:n myötä. Sivunlatauksien nopeuttamiseksi tulee jatkuvasti uusia tekniikoita, kuten äskettäin ymmärtämäni, jännittävän niminen CSS Sprite -menetelmä. Lisää aiheista seuraavassa artikkelissa. Tähän vielä pari hyödyllistä linkkiä:

http://wimleers.com/article/improving-drupals-page-loading-performance
http://2bits.com/articles/tips-on-speeding-up-your-drupal-sites.html

Advertisements
Posted in: Drupal