Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa

M'zaka zaposachedwa, mapulatifomu ochulukirachulukira okongoletsa mapulojekiti akutsogolo amapereka mwayi wodzipangira nokha kapena kuyitanitsa zothandizira za chipani chachitatu. Akamai amakulolani kukhazikitsa magawo enieni kwa ma URL odzipangira okha. Cloudflare ili ndi ukadaulo wa Edge Workers. Fasterzine akhoza lembaninso Ma URL pamasamba kotero kuti amalozera kuzinthu zamagulu ena zomwe zili patsamba lalikulu la tsambalo.

Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa

Ngati mukudziwa kuti ntchito za chipani chachitatu zomwe zimagwiritsidwa ntchito mu polojekiti yanu sizisintha nthawi zambiri, komanso kuti njira yoperekera kwa makasitomala ingakhale yabwino, ndiye kuti mukuganiza zokhala ndi proxy ntchito zotere. Ndi njira iyi, mutha kubweretsa zinthu izi pafupi ndi ogwiritsa ntchito anu ndikupeza kuwongolera kwathunthu pa caching yawo kumbali ya kasitomala. Izi, kuwonjezera apo, zimakupatsani mwayi woteteza ogwiritsa ntchito ku zovuta zomwe zimachitika chifukwa cha "kuwonongeka" kwa ntchito ya chipani chachitatu kapena kuwonongeka kwa magwiridwe ake.

Zabwino: Kuchita bwino

Kusunga zinthu za munthu wina kumawongolera magwiridwe antchito m'njira yodziwikiratu. Msakatuli sakufunikanso kuti apeze DNS kachiwiri, safunikira kukhazikitsa kulumikizana kwa TCP ndikugwirana chanza ndi TLS pagawo lachitatu. Mutha kuwona momwe kudzipangira nokha zinthu za munthu wina kumakhudzira magwiridwe antchito pofanizira ziwerengero ziwiri zotsatirazi.

Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa
Zida za gulu lachitatu zimatsitsidwa kuchokera kuzinthu zakunja (zotengedwa kuchokera kuchokera pano)

Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa
Zothandizira za chipani chachitatu zimasungidwa m'malo amodzi ndi zina zonse zapatsamba (zotengedwa kuchokera kuchokera pano)

Mkhalidwewu umakhalanso bwino chifukwa msakatuli adzagwiritsa ntchito kuthekera kochulukirachulukira ndikuyika patsogolo deta kuchokera ku kulumikizana kwa HTTP/2 komwe kwakhazikitsidwa kale ndi dera lalikulu.

Ngati simukhala ndi zothandizira za chipani chachitatu, ndiye popeza zidzakwezedwa kuchokera kudera losiyana ndi lalikulu, sizingayike patsogolo. Izi zidzawapangitsa kupikisana wina ndi mzake pa bandwidth ya kasitomala. Izi zitha kubweretsa nthawi zotsitsa zomwe zili zofunika kwambiri kuti mupange tsamba lomwe ndi lalitali kwambiri kuposa momwe lingakwaniritsidwe panthawi yoyenera. pano lankhulani pakuyika patsogolo kwa HTTP/2 komwe kumalongosola zonsezi bwino.

Zitha kuganiziridwa kuti kugwiritsidwa ntchito kwa zikhumbo kumagwirizanitsa ndi zinthu zakunja preconnect zidzathandiza kuthetsa vutoli. Komabe, ngati pali maulalo ochulukirapo kumadera osiyanasiyana, zitha kuchulukitsira njira yolumikizirana panthawi yofunika kwambiri.

Ngati mumagwiritsa ntchito zinthu za chipani chachitatu nokha, mutha kuwongolera momwe zinthu izi zimaperekedwa kwa kasitomala. Mwakutero, tikulankhula za izi:

  • Mutha kuwonetsetsa kuti ma aligorivimu amtundu wa data omwe amagwirizana bwino ndi msakatuli aliyense akugwiritsidwa ntchito (Brotli/gzip).
  • Mutha kuwonjezera nthawi yosungira zinthu zomwe nthawi zambiri sizitali kwambiri, ngakhale ndi othandizira odziwika bwino (mwachitsanzo, mtengo wofananira wa tag ya GA wakhazikitsidwa mphindi 30).

Mutha kukulitsanso TTL kuti mupeze, tinene, chaka chimodzi ndikuphatikiza zomwe zili zoyenera munjira yanu yoyang'anira caching (mahashi a URL, kumasulira, ndi zina). Tikambirana za izi pansipa.

▍Kutetezedwa ku kusokonezedwa kwa ntchito zamagulu ena kapena kuzimitsa kwawo

Chinthu chinanso chosangalatsa chodzipangira nokha zinthu za chipani chachitatu ndikuti zimakupatsani mwayi wochepetsera zoopsa zomwe zimagwirizanitsidwa ndi kutha kwa ntchito za chipani chachitatu. Tiyerekeze kuti njira yoyesera ya gulu lachitatu la A/B yomwe mukugwiritsa ntchito ikugwiritsidwa ntchito ngati cholembera chotsekereza chomwe chimadzaza mutu watsamba. Zolemba izi zimanyamula pang'onopang'ono. Ngati script yofananirayo ikalephera kutsitsa, tsambalo lidzakhala lopanda kanthu. Ngati zitenga nthawi yayitali kuti mutsegule, tsambalo liziwoneka mochedwa. Kapena, tiyerekeze kuti polojekitiyi ikugwiritsa ntchito laibulale yomwe idatsitsidwa kuchokera kuzinthu zamtundu wina za CDN. Tiyerekeze kuti chida ichi chinalephera kapena chinatsekedwa m'dziko lina. Mkhalidwe woterewu udzayambitsa kuphwanya malingaliro a malowo.

Kuti mudziwe momwe tsamba lanu limagwirira ntchito pomwe ntchito zina zakunja sizikupezeka, mutha kugwiritsa ntchito gawo la SPOF webpagetest.org.

Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa
Gawo la SPOF pa webpagetest.org

▍ Nanga bwanji za vuto la kusungitsa zinthu mu msakatuli? (chidziwitso: ndi nthano)

Mutha kuganiza kuti kugwiritsa ntchito ma CDN agulu kungapangitse kuti ntchito ziziyenda bwino, chifukwa mautumikiwa ali ndi maukonde apamwamba kwambiri ndipo amagawidwa padziko lonse lapansi. Koma zonse kwenikweni zimakhala zovuta kwambiri.

Tinene kuti tili ndi masamba angapo osiyanasiyana: website1.com, website2.com, website3.com. Masamba onsewa amagwiritsa ntchito laibulale ya jQuery. Timagwirizanitsa nawo pogwiritsa ntchito CDN, mwachitsanzo - googleapis.com. Mutha kuyembekezera kuti msakatuli atsitse ndikusunga laibulale kamodzi, ndikuigwiritsa ntchito pamasamba onse atatu. Izi zitha kuchepetsa katundu pa netiweki. Mwina izi zikuthandizani kuti musunge ndalama kwinakwake ndikuthandizira kukonza magwiridwe antchito. Kuchokera pamalingaliro othandiza, chirichonse chikuwoneka mosiyana. Mwachitsanzo, Safari ili ndi gawo lotchedwa Kulepheretsa Kuzindikira Kwanzeru: Cache imagwiritsa ntchito makiyi apawiri kutengera komwe kwachokera chikalatacho komanso komwe kumachokera chipani chachitatu. pano nkhani yabwino pamutuwu.

maphunziro akale Yahoo ΠΈ Facebook, komanso zaposachedwapa kuphunzira Paul Calvano, akuwonetsa kuti zinthu sizimasungidwa m'malo osungira osatsegula kwa nthawi yayitali momwe tingayembekezere. Tikulankhula za CSS ndi mafonti apa intaneti. Mwakutero, 95% yamafonti am'deralo amakhala ndi moyo wopitilira sabata, pomwe 50% yamafonti a chipani chachitatu amakhala ndi moyo wosakwana sabata imodzi! Izi zimapatsa opanga mawebusayiti chifukwa chomveka chopangira mafayilo amawu! ”

Zotsatira zake, ngati mulandira zomwe anthu ena ali nazo, simudzawona zovuta zilizonse zomwe zimachitika chifukwa chosunga msakatuli.

Tsopano popeza tafotokoza za mphamvu za munthu wachitatu wodzipangira yekha, tiyeni tikambirane za momwe tinganenere kukhazikitsa kwabwino kwa njirayi kuchokera koyipa.

Zoipa: Mdyerekezi ali mwatsatanetsatane

Kusamutsa zinthu za chipani chachitatu kumalo anu omwe sikungachitike popanda kuwonetsetsa kuti zinthu zotere zasungidwa bwino.

Imodzi mwazovuta zazikulu apa ndi nthawi yosungira. Mwachitsanzo, zambiri zamtunduwu zikuphatikizidwa m'maina a chipani chachitatu monga chonchi: jquery-3.4.1.js. Fayilo yotereyi sidzasintha m'tsogolomu, ndipo chifukwa chake izi sizidzayambitsa mavuto ndi caching yake.

Koma ngati chiwembu china chomasulira sichikugwiritsidwa ntchito ndi mafayilo, zolemba zosungidwa, zomwe zimasintha pomwe dzina lafayilo silinasinthidwe, zitha kukhala zachikale. Izi zitha kukhala vuto lalikulu, chifukwa, mwachitsanzo, sizimalola kuti zigamba zodzitchinjiriza zodzitchinjiriza ziwonjezedwe ku zolemba zomwe makasitomala amayenera kulandira mwachangu momwe angathere. Wopangayo ayenera kuyesetsa kukonza zolembedwa zotere mu cache. Kuonjezera apo, izi zingayambitse kulephera kwa ntchito chifukwa chakuti code yomwe imagwiritsidwa ntchito pa kasitomala kuchokera ku cache imasiyana ndi mtundu waposachedwa wa code yomwe gawo la polojekitiyo linapangidwira.

Zoona, ngati tilankhula za zipangizo zomwe zimasinthidwa pafupipafupi (oyang'anira ma tag, zothetsera kuyesa kwa A / B), ndiye kuti kuzisunga pogwiritsa ntchito zida za CDN ndi ntchito yomwe ingathetsedwe, koma ndizovuta kwambiri. Ntchito ngati Commanders Act, njira yoyendetsera ma tag, gwiritsani ntchito ma webhooks posindikiza mitundu yatsopano. Izi zimakupatsani mwayi wokakamiza kusungitsa cache pa CDN, kapena, bwinobe, kutha kukakamiza hashi kapena kusintha kwa URL.

▍Kutumiza kosinthika kwa zinthu kwa makasitomala

Kuonjezera apo, tikamalankhula za caching, tiyenera kuganizira kuti makonda a caching omwe amagwiritsidwa ntchito pa CDN sangakhale oyenera pazinthu zina za chipani chachitatu. Mwachitsanzo, zinthu zotere zitha kugwiritsa ntchito ukadaulo wosuta (adaptive service) kuti azitha kugwiritsa ntchito asakatuli enaake okhala ndi mitundu yokonzedwa bwino ya asakatuliwo. Matekinoloje awa amadalira mawu anthawi zonse, kapena nkhokwe yazidziwitso zamutu wa HTTP, kuti adziwe zomwe msakatuli angachite. User-Agent. Akadziwa kuti ndi msakatuli uti omwe akugwira nawo ntchito, amawapatsa zida zopangidwira.

Apa mutha kukumbukira mautumiki awiri. Yoyamba ndi googlefonts.com. Yachiwiri ndi polyfill.io. Ntchito ya Google Fonts imapereka, pa chinthu china, ma code osiyanasiyana a CSS, kutengera kuthekera kwa msakatuli (kupereka maulalo kuzinthu za woff2 pogwiritsa ntchito unicode-range).

Nazi zotsatira zamafunso angapo a Google Fonts opangidwa kuchokera ku asakatuli osiyanasiyana.

Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa
Zotsatira zafunso za Google Fonts kuchokera ku Chrome

Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa
Zotsatira zafunso la Google Fonts lochokera ku IE10

Polyfill.io imapatsa msakatuli ma polyfill omwe amafunikira. Izi zimachitika chifukwa cha magwiridwe antchito.

Mwachitsanzo, tiyeni tiwone zomwe zingachitike ngati mutatsatira pempho lochokera kwa asakatuli osiyanasiyana: https://polyfill.io/v3/polyfill.js?features=default

Poyankha pempho lotere lochokera ku IE10, 34 KB ya data idzalandiridwa. Ndipo yankho kwa izo, lochitidwa kuchokera ku Chrome, lidzakhala lopanda kanthu.

Kukwiya: Zolinga zina zachinsinsi

Mfundoyi ndi yomaliza, koma osati yofunika kwambiri. Mfundo ndi yakuti kudzipangira nokha zothandizira za chipani chachitatu pa dera lalikulu la polojekitiyo kapena pa subdomain yake kungawononge zinsinsi za ogwiritsa ntchito ndikusokoneza ntchito yaikulu ya intaneti.

Ngati makina anu a CDN sanasankhidwe moyenera, mutha kutumiza ma cookie a domeni yanu kuzinthu zina. Ngati kusefa koyenera sikunakonzedwe pamlingo wa CDN, ndiye kuti ma cookie anu agawo, omwe nthawi zambiri sangagwiritsidwe ntchito mu JavaScript (ndi httponly), ikhoza kutumizidwa kwa alendo.

Izi ndi zomwe zingachitike ndi ma tracker ngati Eulerian kapena Criteo. Otsatira a chipani chachitatu atha kukhala ndi chizindikiritso chapadera mu cookie. Ngati anali mbali ya zida zapatsamba, amatha kuwerenga chizindikiritso mwakufuna kwawo pomwe wogwiritsa ntchitoyo akugwira ntchito ndi masamba osiyanasiyana.

Masiku ano, asakatuli ambiri amaphatikiza chitetezo ku mtundu wa tracker. Zotsatira zake, ofufuza tsopano amagwiritsa ntchito ukadaulo CNAME Kutseka, akuwoneka ngati zolemba zawo zamapulojekiti osiyanasiyana. Mwakutero, ofufuza amapatsa eni webusayiti kuti awonjezere CNAME pazokonda zawo pagawo linalake, ma adilesi ake omwe nthawi zambiri amawoneka ngati zilembo zachisawawa.

Ngakhale sizovomerezeka kuti ma cookie atsamba apezeke kumadera onse (mwachitsanzo - * .website.com), masamba ambiri amachita izi. Pankhaniyi, ma cookie amatumizidwa okha kwa tracker yobisika ya chipani chachitatu. Chifukwa chake, sitingathenso kulankhula zachinsinsi chilichonse.

Komanso, zomwezo zimachitikanso ndi mitu ya HTTP Malangizo a kasitomala, zomwe zimangotumizidwa kudera lalikulu, chifukwa zitha kugwiritsidwa ntchito popanga digito zala wogwiritsa ntchito. Onetsetsani kuti ntchito ya CDN yomwe mumagwiritsa ntchito imasefa mitu iyi molondola.

Zotsatira

Ngati mukukonzekera kukhazikitsa nokha zothandizira za chipani chachitatu posachedwa, ndiroleni ndikupatseni upangiri:

  • sungani malaibulale anu ofunika kwambiri a JS, mafonti ndi mafayilo a CSS. Izi zichepetsa chiwopsezo cha kulephera kwa tsamba kapena kuwonongeka kwa magwiridwe antchito chifukwa chofunikira kwambiri kuti tsambalo silipezeke chifukwa cha vuto la chipani chachitatu.
  • Musanasungire zinthu za chipani chachitatu pa CDN, onetsetsani kuti mtundu wina wa makina omasulira umagwiritsidwa ntchito potchula mafayilo awo, kapena mutha kuwongolera moyo wazinthu izi pokhazikitsa pamanja kapena pokha posungira CDN posindikiza mtundu watsopano wa script.
  • Samalani kwambiri ndi CDN yanu, seva ya proxy, ndi zoikamo za cache. Izi zikuthandizani kuti projekiti yanu kapena mitu yanu isatumizidwe ma cookie Client-Hints ntchito za chipani chachitatu.

Wokondedwa owerenga! Kodi mumasungira zinthu za anthu ena pa maseva anu zomwe ndizofunikira kwambiri pakugwira ntchito kwama projekiti anu?

Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa
Kudzichitira nokha zinthu za chipani chachitatu: zabwino, zoyipa, zoyipa

Source: www.habr.com

Kuwonjezera ndemanga