Kõige olulisem kompost, mida te tõenäoliselt ei kasuta

Olen veebisisu kiireks edastamiseks uurinud mitut erinevat tehnikat, näiteks nginx ja node.js.

Kui asi puudutab jõudluse optimeerimist, aegub httpi päised ja meelde tuleb gzip. Pärast seda tulevad levinud tehnikad nagu spritid ja CDN-id jne.

Kuid ma imestan.

Milline oleks veebisaidi laadimise tehnika kõige kiirem?

Kas staatiline HTML on kõige kiirem, mis saab olla? Või on veel midagi veel kiiremat?

Veebiserverite lehtede edastamise kiirus sõltub tavaliselt sellest, kui kiiresti nad suudavad andmeid kokku viia, kus need on salvestatud. Siin on kohad, kuhu veebisaidi andmed tavaliselt kõige aeglasemalt salvestatakse.

  1. Mälestuseks
  2. Plaadil
  3. Võrgu vahemälus
  4. Andmebaasis

Nii et isegi siis, kui räägite staatilistest failidest kettal, oleks failide mällu laadimine kiirem. Tegelikult saab see olema suurim erinevus staatilisi faile teenindavate veebiserverite vahel: kui palju mälu nad eraldavad staatiliste failide vahemällu salvestamiseks ja kui sageli peavad nad kontrollima, kas need on muutunud.

Kui saate piisavalt staatilisi faile, ei saa neid kõiki mällu salvestada. Sel hetkel saab dünaamiliselt loodud saidi muuta staatilisest kiiremaks. Teie dünaamiline sait võib vahemällu salvestada iga lehe päise ja jaluse (mis on kogu teie saidil dubleeritud) vaid ühe korra ja sellel on rohkem ruumi muu lehe sisu vahemällu salvestamiseks.

Kui teil on vaja oma veebisaidi jaoks andmebaasi kasutada, peaksite seda tegema. Saidi kiirust saab optimeerida andmebaasi andmete vahemällu salvestamise abil ja otsides need alles siis, kui need on muutunud. Teisisõnu, dünaamiliste saitide saab muuta sama kiireks kui staatilisi saite (kuid see nõuab rakendamist ja testimist).

See sõltub teie määratlusest kõige kiiremini. Kui mõõdate ühe lehe täielikuks renderdamiseks kuluvat aega, siis jah, manustatud ressurssidega staatiline HTML oleks kõige kiirem kui see on täielikult optimeeritud:

  • Edastage pakkimisega (Gzip / Deflate).
  • Minimeerige kood, vältige tühikut, kasutage minimaalselt vajalikke silte ja atribuute.
  • Ressursside levitamine küpsiseta domeenide vahel.
  • Minimeerige ressursse, CSS-i ja Javascripti.

Kui mõõdate aeg renderdamise alguseni jõudva leheni, edastaksite minimaalse HTML-i ja ressursid, võimalusel lisades CSS-i, ja seejärel kasutage AJAX-i, et hankida kõik, mis pole kasutajale alguses nähtav.

Serveripoolel tuleb kõik, mis pole HTML, HTML-i töödelda, nii et kõik need tehnoloogiad, nagu PHP / Django / etc, ei saa kunagi olla staatilisest HTML-ist kiiremad. Muidugi võivad need vahemälu korralikult toimida vahemälu tabamisel sama kiiresti, kuna see annaks põhimõtteliselt staatilise HTML-i.

Reaalsus on see, et muutujaid on liiga palju, et üks asi oleks kõigil juhtudel kõige kiirem. Samuti peate arvestama võrguga ja brauseritega. Enamik lubab kuni 4 ühendust ühe hostiga, nii et saate paralleelselt ressursse jaotada hostide vahel, kuni paljudele hostidele pääseb samaaegselt juurde ja kui teie leht pole loodud päringute jadastamise sundimiseks.

none: Charles Robertson | none

none