Optimizacija strani - združevanje datotek

Pozdravljeni,

imam eno vprašanje. Namreč na strani imam preveč HTTP zahtevkov in posledično upočasnjevanje Apacheja. Med branjem razne dokumentacije sem zasledil, da je priporočljivo združiti več datotek v eno (.js, .css, ...).

Na moji strani pa je zadeva takšna, da se nekatere .js, .css datoteke prikazujejo samo članom oziroma obratno.

Moje vprašanje je tako naslednje:
- je bolje združiti vse datoteke (npr. js) v eno, kljub temu da recimo 30% uporabnikov sploh ne bo potrebovalo skripte
- ali "privarčevati" na porabi/bandwidth in razdeliti .js datoteke na več delov?

Problem je tudi ker je večina datotek jquery skript in v prihodnje se bo prikazala težava pri posodabljanjem le teh z najnovejšimi verzijami, če jih združim v eno.

Še to, recimo nekaterih .js datotek sploh ne potrebujem v forumu ampak samo v galeriji.

Hvala vsem za nasvete!

21 odgovorov

Jaz bi združil vse CSS v eno datoteko in vse JS v drugo. Sam za to uporabljam minify. Dandanes ima itak že skoraj vsak vsaj 1Mb linijo in tistih 20kb se ne bo nič poznalo pri prvem prenosu. Nujno je seveda tudi, da urediš keširanje, da bo browser uporabil keširano datoteko.

Če skripto oz. css za galerijo rabiš samo v galeriji, jo pač daš v <script> oz. <style> tage tam.

Okey, kako pa imate vi ponavadi narejeno, ko urejate stran. Namreč minify datotek je skoraj nemogoče naknadno urejat. Sam imam zaenkrat nastavljeno tako, da meni kot adminu prikazuje originalne datoteke, medtem pa ostalim obiskovalcem skrčene / minify.
Ampak to je kar zahtevno urejat, ker moraš naprej spremeniti originalno datoteko, jo potem skrčiti in še 1x preveriti ali res vse deluje.

Kako pa je ponavadi sploh obremenjujoče za server, če serviraš recimo 3 .js datoteke namesto ene?

Kako pa je ponavadi sploh obremenjujoče za server, če serviraš recimo 3 .js datoteke namesto ene?

Odvisno koliko novih uporabnikov, ki nimajo datoteke v kešu prihaja. Pri tvoji strani dvomim, da je to toliko, da boš videl res veliko spremembo.

Minifyu podaš datoteke in on jih minifya zate. Spremeniš samo source datoteko in to je to.

Pri tvoji strani dvomim, da je to toliko, da boš videl res veliko spremembo.

Ja dnevno pride na stran okoli 3.500 uporabnikov, ki naredijo približno 32.000 prikazov.

Verjetno ta minify deluje tako, da ko zbrane css datoteke zbere pod eno in jih servira iz cacha, tako da ne vsakič servira vsako datoteko posebaj, ko uporabnik naloži stran?

Podatek, ki ga potrebujes je kliko novih uporabnikov pride na stran. Stari imajo datoteke ze v browser cachu in zato ne predstavljajo obremenitve za streznik.

Problem je, ker mi je bilo javljeno, da se na strani pojavlja preveč HTTP zahtevkov, ki močno obremenjujejo strežnik. In nekje je treba začeti optimizirati zadevo, tako da sem začel z združevanjem teh datotek. Naslednji korak bo... še ne vem :)

Thx za info!

Ločen strežnik za slike? Ngix recimo?

Glede na naravo tvoje strani (galerija, veliko razlicnih strani) bi mogoce predlagal en vps iz katerega serviras samo slike. Namesto apacha uporabis nginx pa ne rabis nekega hudeha vpsja.

Da bi imel 2 VPS-a, enega za slike, ki laufa na Ngix, drugega pa Apache, kjer je locirana vsa koda?

Drugače sem se ravno začel seliti na nov VPS (Si-shell) in se bom probal zmenil z Urbeejem kaj bi se dalo storiti glede tega.

Hvala obema za pomoč.