Из техничких разлога садржај читалишта можете пратити искључиво на латиници.

Kako razrešiti pitanja performansi i vremena odgovora veb sajta

Ako na vašim veb sajtovima imate probleme performansi i loše vreme odgovora, primenite sledeći postupak da biste razrešili ta pitanja i usrećili svoje korisnike. Probleme koji obično dovode do sporih odgovora i smanjenja performansi na veb sajtu mogu da vam otkriju alatke kao što su Google Developers Chrome DevTools, Web Page Analyzer – 0.98 i Pingdom Website Speed Test. Pošto dijagnostičke alatke uoče probleme, treba da znate kako da ih razrešite. U ovom članku, navodim uobičajene resurse, objekte, elemente, fajlove i druge probleme koji dovode do loših performansi veb sajtova ili do lošeg vremena odgovora, a zatim opisujem kako da ih eliminišete ili bar da umanjite njihov uticaj.

 

Imajte na umu da uvek želite da vaš veb sajt bude dostupan što većem broju korisnika, ali mada to može da zvuči arhaično, mnogi korisnici još uvek za pristup Internetu koriste veze sa modemima od 56Kb/s. Ciljevi i pragovi za optimizaciju trebalo bi da se zasnivaju na standardima koji omogućavaju najbrže vreme učitavanja na najsporijim korisničkim vezama.

Unapredite korišćenje mreže na svom veb sajtu

Za niže navedene stavke poznato je da obično izazivaju probleme u korišćenju mreža na veb sajtovima, pa će ovi predlozi pomoći da se ta poznata uska grla svedu na minimum.

Kolačići: Mada su kolačići veoma korisne alatke za veb sajt, za njih se zna da mogu da produže vreme odgovora. Oprobane tehnike za rad sa kolačićima su:

  • Svedite veličinu fajla kolačića na najmanju moguću meru -- 3000 bajtova (ili manje) ako je moguće.
  • Eliminišite kolačiće koji nisu neophodni, postavite ih na odgovarajući nivo domena i zatim služite statičan sadržaj iz domena koji ne šalje kolačiće.

Slike: Slike za veb sajt treba optimizovati primenom sledećih smernica:

  • CSS sprajtove ugradite tako da što više slika grupišete u jedan fajl, a zatim ih pozicionirate u CSS, jer to pomaže da se smanji broj zahteva.
  • URI za podatke predstavlja način za inlajn uključivanje podataka, pa se omogućava da se normalno zasebni elementi kao što su slike i liste stilova pozivaju jednim samim HTTP zahtevom umesto sa više HTTP zahteva.
  • Navedite širinu i visinu u kodu i to stvarne dimenzije slike; menjanje veličine slika koje su veće od kodiranih dimenzija traje duže prilikom renderovanja.

Ukupna veličina HTML fajlova: Zadržite ukupnu veličinu HTML fajlova ispod 50K kako bi vreme učitavanja bilo što kraće i da bi vreme odgovora bilo manje od 10 sekundi za konekcije od 56K.

Ukupan broj objekata: Trudite se da ukupan broj objekata na svakom HTML dokumentu veb stranice bude manji od 20. Što je veći ukupan broj objekata očekuje se veće kašnjenje, što će usporiti vreme odgovora. Dodatno opterećenje objekata je razlog za više od 80% svih pitanja kašnjenja cele stranice.

Ukupna veličina objekata: Trudite se da ukupna veličina fajlova veb stranice bude 100K ili manje, pa ćete obezbediti da vreme učitavanja i odgovora bude manje od 20 sekundi za konekcije od 56K.

Poboljšanje performansi veb stranica

Sledeće stvari će pomoći da se poboljša vreme učitavanja i odgovora vaših veb stranica, a vašim posetiocima se omogući bolji onlajn doživljaj.

  • Optimizujte redosled CSS i skript fajlova: Obratite pažnju da pozivi linkovanja eksternih CSS fajlova budu paralelni i da budu uključeni u element <head>. Inlajn stajlovanje unutar elementa <body> takođe usporava renderovanje, zato pazite da sav CSS bude u eksternim CSS fajlovima. Sve skript fajlove bi trebalo postaviti na dno elementa <body> neposredno ispred završne oznake </body>; to će omogućiti progresivno prikazivanje sadržaja veb stranice.
  • Uklonite neiskorišćena CSS pravila: CSS pravila koja veb stranica ne koristi predstavljaju nepotrebno opterećenje, koje mora da se učitava pre učitavanja svakog <body> sadržaja.
  • Ukupna broj i veličina CSS fajlova: Kombinovanje svih CSS-ova u jedan fajl i minimizovanje CSS-a može mnogo da doprinese optimizovanju vremena učitavanja stilova. Kombinovanje, refaktorisanje, minimizovanje i GZIP kompresija predstavljaju dobre načine da se optimizuje CSS.
  • Ukupan broj i veličina skript fajlova: Znam da je to za neke implementacije lakše reći nego uraditi, ali pokušajte da kombinujete svoje skript <script> fajlove u što je moguće manji broj fajlova, pošto svaki eksterni skript fajl dodaje opterećenje vašim veb stranicama. Tehnike optimizacije skript fajlova imaju iste opcije kao i za CSS: kombinovanje, refaktorisanje, minimizovanje, ili čak ugrađivanje skriptova ako je primenjivo.
  • Koristite keširanje pretraživača: Ako odredite datum važenja ili maksimalnu starost u zaglavlju statičnih HTTP resursa (koje sadrži uputstva da pretraživač učita prethodno preuzete objekte iz lokalnog klijenta umesto da ih povlači sa mreže) postižete značajno poboljšanje vremena odgovora pretraživača i performansi veb sajta.
  • Minimum preusmeravanja: Kada, na primer, stare veb stranice dobiju novo ime ili se premeste na nove lokacije, jednostavno preusmeravanje usmerava korisnike na novu stranicu ili lokaciju; druge opcije mogu da budu JavaScript ili Meta preusmeravanje. Preusmeravanja (engl. redirects) treba koristiti što je manje moguće da bi se umanjilo vreme dvosmernog puta.
  • Uklonite stringove upita iz URL-ova za statičke resurse: Da biste omogućili proksi keširanje statičkih resursa, koristite uvek parametre imena fajlova a ne stringove upita (npr., "?").
  • Izbegavajte pogrešne zahteve: Još jedan užasan problem sa resursima sličan preusmeravanju predstavljaju odgovori „bad request“ ili "Not found" ili 410 "Gone" do kojih dolazi kada vaš čeoni kôd (engl. front end code) nije ažuriran u skladu sa preimenovanjem ili premeštanjem objekata ili resursa. Ne znam koliko puta sam morao da izvršim proveru "broken link" za veb sajtove i mikrosajtove zbog toga što su eksterni resursi premešteni ili im je promenjeno ime.
Рачунарски факултет Рачунарски факултет 011-33-48-079