Skip to content

Optimization

the pizza girl edited this page May 10, 2017 · 26 revisions

AUTOMAATTESTID

Koostasime vastavalt oma kasutusjuhtudele seitse automaattesti. Saime teada, et on mõistlik panna teatud sammud ootama, aga ka üldine kiirus lükata läiesti Slow peale, seste muidu küsitakse veebilehelt andmeid enne kui nad on laetud. Pärast seda viimast täiendust läksid kõik testid läbi. Tests passed

Testid saab alla laadida siit (Free download -> ooteaeg 30s -> Create Download Link -> Click Here to Download)

JÕUDLUSTESTID

(Tehtud: Etapp 6) Selles etapis me jooksutasime jõudlusteste selleks, et kontrollida, kui kiiresti meie veebirakendus jookseb. Selleks kasutasime Apache JMeter'it. "Thread Group"-i seaded olid sellised, panime 25 kasutajat, ja kokku +-60 loop'i. Lisaks oli tehtud mitu testi väikse Thread'i arvuga, osa nendest ei oli lisatud lõpp tulemusele. Kogu töötamise aeg: 10 minutit

JMeter test Results

Kõik leheküljed laadisid keskmiselt kiiremini kui 0,5 sekundit. See annab võimalust võrrelda lehtede suurust nende jooksutavusega.

Brauseri laadimise analüüs

Lisaks uurisime, kuidas toimub lehtede laadimine arvutisse. Siin on näidatud, kuidas laaditakse elemendid Log In lehe jaoks:

'Full page reload' (Ctrl + F5) kaudu Full page reload

Ja tavalise 'reload' (F5) kaudu Browser Full Reload

On näha, et osa andmetest laaditakse cache'ist tavalise lehe uuendamisel.

OPTIMEERING

Google Pagespeed andis meile esialgu järmised tulemused: Desktop before Mobile before

Tulemuste parandamiseks tegime järgmist:

  • minimeerisime Javascript ja CSS failid
  • tõstsime lühemad CSS failid üheks suuremaks
  • lisasime .htacessi faili koodi cache-kontrolli ja faili kompresseerimise jaoks
  • märkisime config failis gzipi kasutamise parameetri TRUE'ks
  • katsetasime asünkroonsete skriptidega, aga lõpuks jätsime need välja

Optimeerimise käigus juhtus meil suuremat sorti avarii, mille tõttu pidime koodi tunduvalt hiljem esitama. Millegipärast hakkas veebirakendus kuvama ainult pealehe inglisekeelset ja sisselogitud versiooni, kus ükski nupp ei tööta jne. Olime päris pikalt paanikas, proovisime ilma cache'ita, muutsime skriptide asukohta, siis võtsime hunniku muudatusi tagasi, et need hiljem uuesti tagasi panna... Pidime ka mitmed testitulemused maha arvama ning kõike uuesti tegema.

Lõpuks me ei saanudki teada, mis avarii põhjuseks oli, sest ühel hetkel tegime kõik "hard refreshi" pealehele ja kõik hakkas maagiliselt tööle. Ülalnimetatud optimeeringud ikkagi säilisid, aga neile lisaks pidime ajutiselt kinni keerama Google Mapi API, sest sellega suhtlemine läks järsku katki ja keegi siiamaani ei tea, miks. Vahest toimus uuendus ja meil on ikka veel vana versioon. Selle katsume viimaseks etapiks uuesti tagasi tuua.

Pärast Optimeeringut:

Jooksutasime jõudlustestid pärast optimeerimise faasi, samade seadetega. Jooksutamse aeg: 7,5 minutit. JMeter test Results Paranenud on ka keskmine.

'Full page reload' (Ctrl + F5) kaudu Full page reload

Ja tavalise 'reload' (F5) kaudu Browser Full Reload

Google Pagespeedi hinnang paranes veidi: Desktop after Mobile after

Kuid paistab, et see tööriist ikkagi ei arvesta asjaoluga, et meil on nüüd küll lubatud gzip ja cache expiry time. Gzipi tõestuseks: Gzip proof Ning YSlow annab meile ka parema hinnangu: 84 punkti
YSlow Grade
((varasemast pilti kahjuks pole, aga see oli enne samuti 70-midagi))

Kokkuvõttes võib öelda, et need mõõdikud töötavad kõik erinevalt ning see tekitas palju segadust. Kuid meie kiirus on tunduvalt paranenud ning optimeerimisvõtted on samuti tehtud.

Clone this wiki locally