Performance Optimizacija – što je to i zašto je bitno?

2 su glavna razloga zbog kojih naglašavamo važnost optimizacije performansi web sučelja.

  1. brzina učitavanja stranice popravlja user expirience i time čini posjetitelje zadovoljnijima. Amazon je u jednom istraživanju namjerno usporio rad stranice za samo nekoliko milisekundi i to je dovelo do vidno manjeg broja narudžbi.
  2. brzina učitavanja stranice utječe na Google rank– spora stranica može dobiti lošiju poziciju na Google tražilici zbog loših performansi, brza stranica isto tako može dobiti bolju poziciju.

Što je Performance optimizacija?

Pojednostavljeno, to je niz radnji kojima ubrzavamo rad stranice. Činimo sadržaj dostupnijim pa će korisnik profitirati na ušteđenom vremenu te bandwidthu (količini podataka koju prima od servera). Dok korisnici s brzim internetom možda neće odmah primijetiti rezultate optimizacije, korisnici sa sporijom vezom, npr. mobilni surferi sa smartfonovima, osjetit će razliku.

Performance optimizacija se bavi:

1. Optimizacijom sadržaja

– većinu sadržaja (html, css, multimedija, js) moguće je kompresirati bez gubitaka podataka i kvalitete. Npr. slika na stranici može biti teška 100 kB jer su u file-u spremljeni headeri koji su nepotrebni za prikaz. Micanjem headera slika postaje lakša za 30 kB i to bez gubitka kvalitete.

2. Css/js position optimizacijom

– postoji jedan parametar “time to first view” koji nam kazuje vrijeme potrebno da se generira prvi prikaz stranice. To vrijeme je često važnije od samog vremena učitavanja stranice jer s usability strane, korisnika ne smeta što se stranica učitava u pozadinu ako je njemu prikazan relevantan sadržaj. CSS i JS skripte mogu blokirati prikaz stranice i zato njih treba poredati unutar statičke stranice redom koji osigurava brzo učitavanje stranice.

3. Cachiranje i serverska kompresija

– kada server šalje podatke o stranici, slike, tekstove i sl., on uz svaki podatak šalje i vrijeme života istog podatka. Browser to uzima u obzir svaki puta kad korisnik dođe na vašu stranicu. Ukoliko sa servera nije stigla poruka (cache control header) da, npr., jedna slika ima vrijeme života od 30 dana, tada browser svaki puta mora iznova učitavati tu sliku što usporava rad stranice i opterećuje server.

4. Content delivery network

– ukoliko web stranica ima profil posjetitelja takav da oni dolaze sa svih kraja svijeta, dok se server nalazi na jednoj lokaciji, onda je nemoguće svim korisnicima servirati sadržaj s njima bliske lokacije. Latencija koja se događa zbog udaljenosti klijenta od servera može se lagano spriječiti uključivanjem u mrežu CDN-ova.

5. Optimizacija serverskih resorsa

– raznim mjerenjima, npr. parametra “time to first byte” možemo utvrditi responzivnost servera i eventualnu potrebu za promjenom serverske infrastrukture.