Veebirakenduse optimeerimine
Veebirakenduse optimeerimine seisneb rakenduse ressursinõudluse minimeerimises. See tähendab, et optimeeritud veebirakendus peaks teostama võimalikult vähe päringuid, kulutama vähe andmemahtu ja klientrakenduses reageerima kasutaja tegevusele kiiresti ning jätma ühtlase mulje (st. veebilehitseja ei tohiks jääda jõudluse osas jänni). Näited optimeerimisest on liigsete tühikute vältimine, päringu vastuste tihendamine, alla laetud ressursside puhverdamine. Samas ei ole alati mõistlik(nt. loetavuse ja/või hallatavuse tagamiseks) või võimalik (nt. ühilduvuse tagamiseks) kõiki veebirakenduste optimeerimistööriistade soovitusi järgida.
Optimeerides tasub silmas pidada, et TCP/IPv4 andmesegmendi suurus on 536 baiti ja TCP/IPv6 andmesegmendi suurus on 1240 baiti - andmemahu vähendamine vähendab suhtluskoormust vaid juhul kui edastada tuleb vähem segmente. Efektiivsust aitab suurendada veelgi see, kui andmete edastamiseks tuleb panna kokku vähem IP pakette (IPv4 puhul on paketi suurus kuni 65 535 baiti (sh. TCP päised) ja IPv6 puhul kuni 4 294 967 295 baiti). Ehk siis andmemahtude vähendamine hakkab märgatavalt kasutamiskiirust mõjutama 64 kB erinevuse korral ja väiksemal määral 1 kB erinevuse korral.
Punkti saamiseks tuleb:
- Hinnata lahenduse optimaalsust mõne optimeerimistöörista või teenusega ning saadud soovitusi järgida või põhjendada, miks ei ole soovituse järgimine asjakohane.
- Tulemid tuleks esitada aruandena, kus on kirjas optimeerimise eelne seisund, järgne seisund, optimeerimisel tehtud tegevused ja põhjendused optimeerimisvõtete kasutamise või mitte kasutamise kohta. Aruanne tuleb esitada kas dokumendina Git-s või GitHub viki sektsioonina.
Hindamine
Optimeerimine
- Praktikumijuhendaja avab projekti vikis optimeerimise võtte esitamise juures viidatud optimeerimise aruande ja kontrollib, et seal on:
- Kirjas rakenduse optimeerimise eelsed näitajad (alla laetavate elementide arv, alla laetud elementide mahud, järjekord ja nende alla laadimiseks kulunud aeg). Nendele lisaks võiksid olla toodud ka mõned agregaatnäitajad (nt. PageSpeed indeks, lehe esitamiseks kulunud aeg).
- Kirjas lahendused, mida soovitati kasutada lehe optimeerimiseks või mille kasutamist kaaluti optimeerimise käigus.
- Kirjas, kas eeltoodud lahendused võeti kasutusele või mitte. Igal lahendusel, mida kasutusele ei võetud, peab olema juures põhjendus, miks seda ei kasutatud. Igal lahendusel, mis võeti kasutusele, peab olema juures põhjendus, miks see kasutusele võeti (st. kui palju see mõjutas esimeses punktis toodud näitajaid).
- Kirjas rakenduse optimeerimisele järgnenud seisu näitajad ja saadud võit võrreldes algseisuga.
Viiteid
- Google PageSpeed - https://developers.google.com/speed/pagespeed/
- Yahoo YSlow - http://developer.yahoo.com/yslow/
- Pingdom - http://tools.pingdom.com/
- WebSiteOptimization.org - http://www.websiteoptimization.com/services/analyze/
- TCP standard - http://tools.ietf.org/html/rfc879
- Vaadake ka oma lemmikveebilehitseja arendajatööriistu