CDNని ఉపయోగించవద్దు

సైట్ వేగాన్ని ఆప్టిమైజ్ చేయడానికి దాదాపు ప్రతి కథనం లేదా సాధనం "CDNని ఉపయోగించండి" అనే నిరాడంబరమైన నిబంధనను కలిగి ఉంటుంది. సాధారణంగా, CDN అనేది కంటెంట్ డెలివరీ నెట్‌వర్క్ లేదా కంటెంట్ డెలివరీ నెట్‌వర్క్. మెథడ్ ల్యాబ్‌లో మేము ఈ అంశంపై క్లయింట్‌ల నుండి తరచుగా ప్రశ్నలను ఎదుర్కొంటాము; వాటిలో కొన్ని వారి స్వంత CDNని ప్రారంభిస్తాయి. సైట్ లోడింగ్ వేగం పరంగా CDN ఏమి అందించగలదో, ఎలాంటి సమస్యలు తలెత్తవచ్చు మరియు ఏ సందర్భాలలో CDN ఉపయోగం సమర్థించబడుతుందో అర్థం చేసుకోవడం ఈ కథనం యొక్క ఉద్దేశ్యం.

CDNని ఉపయోగించవద్దు

చిత్రంలో సర్కిల్ చేసిన జాప్యాలు CDNని ఉపయోగించడం వల్ల కలుగుతాయి.

ఒక బిట్ చరిత్ర

అనేక సాంకేతికతల వలె, CDNలు అవసరం నుండి ఉద్భవించాయి. ఇంటర్నెట్ వినియోగదారులలో ఇంటర్నెట్ ఛానెల్‌ల అభివృద్ధితో, ఆన్‌లైన్ వీడియో సేవలు కనిపించాయి. సహజంగానే, సాధారణ వెబ్‌సైట్ కంటెంట్ (చిత్రాలు, వచనం మరియు CSS లేదా JS కోడ్)తో పోలిస్తే వీడియో కంటెంట్‌కు ఎక్కువ బ్యాండ్‌విడ్త్ ఆర్డర్‌లు అవసరం.

ఒక సర్వర్ నుండి అనేక క్లయింట్‌లకు సమాంతరంగా వీడియో స్ట్రీమ్‌ను ప్రసారం చేయడానికి ప్రయత్నిస్తున్నప్పుడు, సర్వర్ యొక్క ఇంటర్నెట్ ఛానెల్ చాలావరకు అడ్డంకిగా మారుతుంది. నియమం ప్రకారం, సాధారణ సర్వర్ ఛానెల్‌ను అడ్డుకోవడానికి కొన్ని వేల థ్రెడ్‌లు సరిపోతాయి. వాస్తవానికి, ఇతర వనరుల పరిమితులు ఉండవచ్చు, కానీ అవి ప్రస్తుతం ముఖ్యమైనవి కావు. సర్వర్ ఛానెల్‌ని విస్తరించడం చాలా ఖరీదైనది (మరియు కొన్నిసార్లు అసాధ్యం), మరియు ఆచరణాత్మకం కాదు. ప్రసారాల సమయంలో ఛానెల్‌పై లోడ్ చక్రీయంగా ఉంటుంది.

వ్యక్తిగత సర్వర్ యొక్క ఛానెల్‌ని పరిమితం చేసే సమస్య CDN ద్వారా సంపూర్ణంగా పరిష్కరించబడుతుంది. క్లయింట్‌లు నేరుగా సర్వర్‌కు కనెక్ట్ అవ్వరు, కానీ CDN నెట్‌వర్క్‌లోని నోడ్‌లకు. ఆదర్శవంతమైన పరిస్థితిలో, సర్వర్ CDN నోడ్‌కు ఒక స్ట్రీమ్‌ను పంపుతుంది, ఆపై ఈ స్ట్రీమ్‌ను చాలా మంది వినియోగదారులకు అందించడానికి నెట్‌వర్క్ దాని స్వంత వనరులను ఉపయోగిస్తుంది. ఆర్థిక కోణం నుండి, మేము వాస్తవానికి వినియోగించే వనరులకు మాత్రమే చెల్లిస్తాము (ఇది బ్యాండ్‌విడ్త్ లేదా ట్రాఫిక్ కావచ్చు) మరియు మా సేవ యొక్క అద్భుతమైన స్కేలబిలిటీని పొందుతాము. భారీ కంటెంట్‌ను అందించడానికి CDNని ఉపయోగించడం పూర్తిగా సమర్థించబడుతోంది మరియు తార్కికం. ఈ స్థలంలో అతిపెద్ద ఆటగాళ్ళు (ఉదా. Netflix) పెద్ద వాణిజ్య CDNలను (Akamai, Cloudflare, Fastly, మొదలైనవి) ఉపయోగించకుండా వారి స్వంత CDNలను నిర్మిస్తున్నారని గమనించదగ్గ విషయం.

వెబ్ అభివృద్ధి చెందడంతో, వెబ్ అప్లికేషన్లు మరింత సంక్లిష్టంగా మరియు సంక్లిష్టంగా మారాయి. లోడింగ్ వేగం సమస్య తెరపైకి వచ్చింది. వెబ్‌సైట్ స్పీడ్ ఔత్సాహికులు వెబ్‌సైట్‌లు నెమ్మదిగా లోడ్ కావడానికి కారణమయ్యే అనేక ప్రధాన సమస్యలను త్వరగా గుర్తించారు. వాటిలో ఒకటి నెట్‌వర్క్ ఆలస్యం (RTT - రౌండ్ ట్రిప్ సమయం లేదా పింగ్ సమయం). వెబ్‌సైట్ లోడ్ చేయడంలో జాప్యాలు అనేక ప్రక్రియలను ప్రభావితం చేస్తాయి: TCP కనెక్షన్‌ని ఏర్పాటు చేయడం, TLS సెషన్‌ను ప్రారంభించడం, ప్రతి ఒక్క వనరును లోడ్ చేయడం (చిత్రం, JS ఫైల్, HTML పత్రం మొదలైనవి)

HTTP/1.1 ప్రోటోకాల్‌ను ఉపయోగిస్తున్నప్పుడు (SPDY, QUIC మరియు HTTP/2 రాకముందు ఇది ఒక్కటే ఎంపిక), బ్రౌజర్‌లు ఒక హోస్ట్‌కి 6 కంటే ఎక్కువ TCP కనెక్షన్‌లను తెరవకపోవడం వల్ల సమస్య మరింత తీవ్రమైంది. ఇవన్నీ కనెక్షన్ పనికిరాని సమయానికి మరియు ఛానెల్ బ్యాండ్‌విడ్త్ యొక్క అసమర్థ వినియోగానికి దారితీశాయి. డొమైన్ షార్డింగ్ ద్వారా సమస్య పాక్షికంగా పరిష్కరించబడింది - కనెక్షన్‌ల సంఖ్యపై పరిమితిని అధిగమించడానికి అదనపు హోస్ట్‌ల సృష్టి.

ఇక్కడే CDN యొక్క రెండవ సామర్థ్యం కనిపిస్తుంది - పెద్ద సంఖ్యలో పాయింట్లు మరియు వినియోగదారుకు నోడ్‌ల సామీప్యత కారణంగా జాప్యాన్ని (RTT) తగ్గించడం. దూరం ఇక్కడ నిర్ణయాత్మక పాత్ర పోషిస్తుంది: కాంతి వేగం పరిమితం (ఆప్టికల్ ఫైబర్‌లో సుమారు 200 కిమీ/సెకను). అంటే ప్రతి 000 కి.మీ ప్రయాణం RTTకి 1000 ms ఆలస్యం లేదా 5 ms జోడిస్తుంది. ఇది ప్రసారానికి అవసరమైన కనీస సమయం, ఎందుకంటే ఇంటర్మీడియట్ పరికరాలపై కూడా ఆలస్యం జరుగుతుంది. CDNకి సాధారణంగా దాని సర్వర్‌లలో ఆబ్జెక్ట్‌లను ఎలా కాష్ చేయాలో తెలుసు కాబట్టి, CDN ద్వారా అటువంటి వస్తువులను లోడ్ చేయడం ద్వారా మనం ప్రయోజనం పొందవచ్చు. దీని కోసం అవసరమైన షరతులు: కాష్‌లో ఆబ్జెక్ట్ ఉనికి, వెబ్ అప్లికేషన్ సర్వర్ (మూలం సర్వర్)తో పోల్చితే వినియోగదారుకు CDN పాయింట్ యొక్క సామీప్యత. CDN నోడ్ యొక్క భౌగోళిక సామీప్యం తక్కువ జాప్యానికి హామీ ఇవ్వదని అర్థం చేసుకోవడం ముఖ్యం. క్లయింట్ మరియు CDN మధ్య రూటింగ్‌ను క్లయింట్ మరొక దేశంలో మరియు బహుశా మరొక ఖండంలో హోస్ట్‌కి కనెక్ట్ చేసే విధంగా నిర్మించబడవచ్చు. ఇక్కడే టెలికాం ఆపరేటర్‌లు మరియు CDN సేవ (పీరింగ్, కనెక్షన్‌లు, IXలో పాల్గొనడం మొదలైనవి) మధ్య సంబంధం మరియు CDN యొక్క ట్రాఫిక్ రూటింగ్ విధానం అమలులోకి వస్తాయి. ఉదాహరణకు, క్లౌడ్‌ఫ్లేర్, రెండు ప్రారంభ ప్లాన్‌లను (ఉచిత మరియు చౌక) ఉపయోగిస్తున్నప్పుడు, సమీప హోస్ట్ నుండి కంటెంట్ డెలివరీకి హామీ ఇవ్వదు - కనీస ధరను సాధించడానికి హోస్ట్ ఎంపిక చేయబడుతుంది.

అనేక ప్రముఖ ఇంటర్నెట్ కంపెనీలు లోడింగ్ వేగం మరియు వెబ్‌సైట్ పనితీరుపై ప్రజల ఆసక్తిని (వెబ్ డెవలపర్‌లు మరియు సేవా యజమానులు) ఆకర్షిస్తాయి. ఈ కంపెనీలలో Yahoo (Yslow టూల్), AOL (WebPageTest) మరియు Google (పేజ్ స్పీడ్ ఇన్‌సైట్స్ సర్వీస్) ఉన్నాయి, ఇవి సైట్‌లను వేగవంతం చేయడానికి వారి స్వంత సిఫార్సులను అభివృద్ధి చేస్తున్నాయి (ప్రధానంగా అవి క్లయింట్ ఆప్టిమైజేషన్‌కు సంబంధించినవి). తరువాత, కొత్త వెబ్‌సైట్ స్పీడ్ టెస్టింగ్ టూల్స్ కనిపిస్తాయి, ఇవి వెబ్‌సైట్ స్పీడ్‌ను పెంచడంలో చిట్కాలను కూడా అందిస్తాయి. ఈ సేవలు లేదా ప్లగిన్‌లలో ప్రతి ఒక్కటి స్థిరమైన సిఫార్సును కలిగి ఉంటాయి: "CDNని ఉపయోగించండి." నెట్‌వర్క్ లేటెన్సీలో తగ్గింపు సాధారణంగా CDN యొక్క ప్రభావానికి వివరణగా పేర్కొనబడుతుంది. దురదృష్టవశాత్తూ, CDN యొక్క త్వరణం ప్రభావం ఎలా సాధించబడుతుందో మరియు దానిని ఎలా కొలవవచ్చో అర్థం చేసుకోవడానికి ప్రతి ఒక్కరూ సిద్ధంగా లేరు, కాబట్టి సిఫార్సు విశ్వాసం మీద తీసుకోబడుతుంది మరియు ఒక ప్రతిపాదనగా ఉపయోగించబడుతుంది. నిజానికి, అన్ని CDNలు సమానంగా సృష్టించబడవు.

CDN టుడేని ఉపయోగిస్తోంది

CDNలను ఉపయోగించడం యొక్క ప్రయోజనాన్ని అంచనా వేయడానికి, వాటిని వర్గీకరించాలి. ఇప్పుడు ఆచరణలో ఏమి కనుగొనవచ్చు (బ్రాకెట్లలోని ఉదాహరణలు, సమగ్రమైనవి కావు):

  1. JS లైబ్రరీలను పంపిణీ చేయడానికి ఉచిత CDN (MaxCDN, Google. Yandex).
  2. క్లయింట్ ఆప్టిమైజేషన్ కోసం సేవల CDN (ఉదాహరణకు, ఫాంట్‌ల కోసం Google ఫాంట్‌లు, క్లౌడ్‌నరీ, చిత్రాల కోసం క్లౌడ్ ఇమేజ్).
  3. CMSలో స్టాటిక్ మరియు రిసోర్స్ ఆప్టిమైజేషన్ కోసం CDN (Bitrix, WordPress మరియు ఇతరులలో అందుబాటులో ఉంది).
  4. సాధారణ ప్రయోజన CDN (స్టాక్‌పాత్, CDNVideo, NGENIX, Megafon).
  5. వెబ్‌సైట్ త్వరణం కోసం CDN (Cloudflare, Imperva, Airi).

ఈ రకాల మధ్య ప్రధాన వ్యత్యాసం CDN ద్వారా ఎంత ట్రాఫిక్ వెళుతుంది. 1-3 రకాలు కంటెంట్‌లో కొంత భాగాన్ని మాత్రమే పంపిణీ చేస్తాయి: ఒక అభ్యర్థన నుండి అనేక డజన్ల వరకు (సాధారణంగా చిత్రాలు). 4 మరియు 5 రకాలు CDN ద్వారా ట్రాఫిక్‌ను పూర్తిగా ప్రాక్సీ చేస్తున్నాయి.

ఆచరణలో, దీని అర్థం సైట్‌ను లోడ్ చేయడానికి ఉపయోగించే కనెక్షన్‌ల సంఖ్య. HTTP/2తో, మేము ఎన్ని అభ్యర్థనలను ప్రాసెస్ చేయడానికి హోస్ట్‌కు ఒకే TCP కనెక్షన్‌ని ఉపయోగిస్తాము. మేము వనరులను ప్రధాన హోస్ట్ (మూలం) మరియు CDNగా విభజించినట్లయితే, అనేక డొమైన్‌లలో అభ్యర్థనలను పంపిణీ చేయడం మరియు అనేక TCP కనెక్షన్‌లను సృష్టించడం అవసరం. చెత్త కేసు: DNS (1 RTT) + TCP (1 RTT) + TLS (2-3 RTT) = 6-7 RTT. ఈ ఫార్ములా పరికరం యొక్క రేడియో ఛానెల్‌ని సక్రియం చేయడానికి మొబైల్ నెట్‌వర్క్‌లలోని జాప్యాలను పరిగణనలోకి తీసుకోదు (ఇది సక్రియంగా లేకుంటే) మరియు సెల్ టవర్‌లో ఆలస్యం.

సైట్ యొక్క లోడ్ అవుతున్న జలపాతంలో ఇది ఎలా ఉంటుందో ఇక్కడ ఉంది (CDNకి కనెక్ట్ చేయడానికి లేటెన్సీలు RTT 150 ms వద్ద హైలైట్ చేయబడతాయి):

CDNని ఉపయోగించవద్దు

CDN మొత్తం సైట్ ట్రాఫిక్‌ను కవర్ చేస్తే (థర్డ్-పార్టీ సేవలు మినహా), అప్పుడు మేము ఒకే TCP కనెక్షన్‌ని ఉపయోగించవచ్చు, అదనపు హోస్ట్‌లకు కనెక్ట్ చేయడంలో ఆలస్యాన్ని ఆదా చేయవచ్చు. వాస్తవానికి, ఇది HTTP/2 కనెక్షన్‌లకు వర్తిస్తుంది.

నిర్దిష్ట CDN యొక్క కార్యాచరణ ద్వారా మరిన్ని తేడాలు నిర్ణయించబడతాయి - మొదటి రకానికి ఇది కేవలం స్టాటిక్ ఫైల్‌ను హోస్ట్ చేస్తోంది, ఐదవది ఆప్టిమైజేషన్ ప్రయోజనం కోసం అనేక రకాల సైట్ కంటెంట్‌ను మారుస్తోంది.

వెబ్‌సైట్ త్వరణం కోసం CDN సామర్థ్యాలు

CDN యొక్క వ్యక్తిగత రకాల కార్యాచరణతో సంబంధం లేకుండా, సైట్‌లను వేగవంతం చేయడానికి పూర్తి స్థాయి CDN సామర్థ్యాలను వివరిస్తాము, ఆపై వాటిలో ప్రతిదానిలో ఏమి అమలు చేయబడుతుందో చూద్దాం.

1. టెక్స్ట్ వనరుల కుదింపు

అత్యంత ప్రాథమిక మరియు అర్థమయ్యే లక్షణం, అయినప్పటికీ తరచుగా సరిగా అమలు చేయబడలేదు. అన్ని CDNలు కుదింపు ఉనికిని వాటి త్వరణ లక్షణంగా ప్రకటిస్తాయి. కానీ మీరు మరింత వివరంగా చూస్తే, లోపాలు స్పష్టంగా కనిపిస్తాయి:

  • డైనమిక్ కంప్రెషన్ కోసం తక్కువ డిగ్రీలు ఉపయోగించవచ్చు - 5-6 (ఉదాహరణకు, gzip కోసం గరిష్టంగా 9);
  • స్టాటిక్ కంప్రెషన్ (కాష్‌లోని ఫైల్‌లు) అదనపు ఫీచర్‌లను ఉపయోగించదు (ఉదాహరణకు, డిగ్రీ 11తో జోప్ఫీ లేదా బ్రోట్లీ)
  • సమర్థవంతమైన బ్రోట్లీ కంప్రెషన్‌కు మద్దతు లేదు (gzipతో పోలిస్తే దాదాపు 20% ఆదా అవుతుంది).

మీరు CDNని ఉపయోగిస్తుంటే, ఈ కొన్ని అంశాలను తనిఖీ చేయడం విలువైనదే: CDN నుండి వచ్చిన ఫైల్‌ను తీసుకోండి, దాని కంప్రెస్డ్ సైజును రికార్డ్ చేయండి మరియు పోలిక కోసం దాన్ని మాన్యువల్‌గా కుదించండి (ఉదాహరణకు, మీరు బ్రోట్లీ మద్దతుతో కొన్ని ఆన్‌లైన్ సేవను ఉపయోగించవచ్చు. vsszhat.rf).

2. క్లయింట్ కాషింగ్ హెడర్‌లను సెట్ చేస్తోంది

సాధారణ స్పీడప్ ఫీచర్ కూడా: క్లయింట్ (బ్రౌజర్) ద్వారా కంటెంట్ కాషింగ్ కోసం హెడర్‌లను జోడించండి. అత్యంత ప్రస్తుత హెడర్ కాష్-నియంత్రణ, కాలం చెల్లినది గడువు ముగుస్తుంది. అదనంగా, Etag ఉపయోగించవచ్చు. ప్రధాన విషయం ఏమిటంటే, కాష్-నియంత్రణ యొక్క గరిష్ట-వయస్సు తగినంత పెద్దది (ఒక నెల లేదా అంతకంటే ఎక్కువ కాలం నుండి). మీరు వనరును వీలైనంత కఠినంగా కాష్ చేయడానికి సిద్ధంగా ఉంటే, మీరు మార్పులేని ఎంపికను జోడించవచ్చు.

CDNలు గరిష్ట-వయస్సు విలువను తగ్గించగలవు, వినియోగదారుని స్టాటిక్ కంటెంట్‌ను మరింత తరచుగా రీలోడ్ చేయవలసి వస్తుంది. ఇది దేనితో అనుసంధానించబడిందో స్పష్టంగా లేదు: నెట్వర్క్లో ట్రాఫిక్ను పెంచడానికి లేదా కాష్ను ఎలా రీసెట్ చేయాలో తెలియని సైట్లతో అనుకూలతను పెంచాలనే కోరిక. ఉదాహరణకు, డిఫాల్ట్ క్లౌడ్‌ఫ్లేర్ హెడర్ కాష్ సమయం 1 గంట, ఇది మార్పులేని స్టాటిక్ డేటా కోసం చాలా తక్కువగా ఉంటుంది.

3. ఇమేజ్ ఆప్టిమైజేషన్

CDN ఇమేజ్‌లను కాషింగ్ మరియు సర్వ్ చేసే విధులను తీసుకుంటుంది కాబట్టి, వాటిని CDN వైపు ఆప్టిమైజ్ చేయడం మరియు ఈ రూపంలో వినియోగదారులకు అందించడం లాజికల్‌గా ఉంటుంది. ఈ ఫీచర్ CDN రకాలు 2, 3 మరియు 5కి మాత్రమే అందుబాటులో ఉందని వెంటనే రిజర్వేషన్ చేద్దాం.

మీరు చిత్రాలను వివిధ మార్గాల్లో ఆప్టిమైజ్ చేయవచ్చు: అధునాతన కంప్రెషన్ ఫార్మాట్‌లను ఉపయోగించడం (వెబ్‌పి వంటివి), మరింత సమర్థవంతమైన ఎన్‌కోడర్‌లు (MozJPEG) లేదా అనవసరమైన మెటాడేటాను శుభ్రపరచడం.

సాధారణంగా, అటువంటి ఆప్టిమైజేషన్లలో రెండు రకాలు ఉన్నాయి: నాణ్యత నష్టం మరియు నాణ్యత నష్టం లేకుండా. CDNలు సాధారణంగా ఇమేజ్ నాణ్యతలో మార్పుల గురించి కస్టమర్ ఫిర్యాదులను నివారించడానికి లాస్‌లెస్ ఆప్టిమైజేషన్‌ని ఉపయోగించడానికి ప్రయత్నిస్తాయి. అటువంటి పరిస్థితులలో, లాభం తక్కువగా ఉంటుంది. వాస్తవానికి, తరచుగా JPEG నాణ్యత స్థాయి అవసరమైన దానికంటే చాలా ఎక్కువగా ఉంటుంది మరియు మీరు వినియోగదారు అనుభవాన్ని రాజీ పడకుండా తక్కువ నాణ్యత స్థాయితో సురక్షితంగా తిరిగి కుదించవచ్చు. మరోవైపు, సాధ్యమయ్యే అన్ని వెబ్ అప్లికేషన్‌ల కోసం విశ్వవ్యాప్తంగా నాణ్యత మరియు సెట్టింగుల స్థాయిని నిర్ణయించడం కష్టం, కాబట్టి CDNలు సందర్భాన్ని (చిత్రాల ప్రయోజనం, వెబ్ అప్లికేషన్ రకం) పరిగణనలోకి తీసుకుని వర్తించే వాటితో పోలిస్తే మరింత సాంప్రదాయిక సెట్టింగ్‌లను ఉపయోగిస్తాయి. , మొదలైనవి)

4. TLS కనెక్షన్‌ని ఆప్టిమైజ్ చేయడం

ఈ రోజు చాలా ట్రాఫిక్ TLS కనెక్షన్‌ల ద్వారా ప్రయాణిస్తుంది, అంటే మేము TLS చర్చల కోసం అదనపు సమయాన్ని వెచ్చిస్తాము. ఇటీవల, ఈ ప్రక్రియను వేగవంతం చేయడానికి కొత్త సాంకేతికతలు అభివృద్ధి చేయబడ్డాయి. ఉదాహరణకు, ఇది EC క్రిప్టోగ్రఫీ, TLS 1.3, సెషన్ కాష్ మరియు టిక్కెట్లు, హార్డ్‌వేర్ ఎన్‌క్రిప్షన్ యాక్సిలరేషన్ (AES-NI), మొదలైనవి. TLSని సరిగ్గా సెట్ చేయడం వలన కనెక్షన్ సమయాన్ని 0-1 RTTకి తగ్గించవచ్చు (DNS మరియు TCP లను లెక్కించడం లేదు).

ఆధునిక సాఫ్ట్‌వేర్‌తో, మీ స్వంతంగా ఇటువంటి అభ్యాసాలను అమలు చేయడం కష్టం కాదు.

అన్ని CDNలు TLS ఉత్తమ అభ్యాసాలను అమలు చేయవు; మీరు TLS కనెక్షన్ సమయాన్ని కొలవడం ద్వారా దీన్ని తనిఖీ చేయవచ్చు (ఉదాహరణకు, Webpagetestలో). కొత్త కనెక్షన్ కోసం అనువైనది - 1RTT, 2RTT - సగటు స్థాయి, 3RTT మరియు మరిన్ని - చెడ్డది.

CDN స్థాయిలో TLSని ఉపయోగిస్తున్నప్పుడు కూడా, మా వెబ్ అప్లికేషన్‌తో ఉన్న సర్వర్ తప్పనిసరిగా TLSని ప్రాసెస్ చేయాలి, కానీ CDN వైపు నుండి, ఎందుకంటే సర్వర్ మరియు CDN మధ్య ట్రాఫిక్ పబ్లిక్ నెట్‌వర్క్‌లో వెళుతుంది. చెత్త సందర్భంలో, మేము డబుల్ TLS కనెక్షన్ ఆలస్యాలను పొందుతాము (మొదటిది CDN హోస్ట్‌కు, రెండవది దానికి మరియు మా సర్వర్‌కు మధ్య).

కొన్ని అనువర్తనాల కోసం, భద్రతా సమస్యలకు శ్రద్ధ చూపడం విలువ: ట్రాఫిక్ సాధారణంగా CDN నోడ్‌లలో డీక్రిప్ట్ చేయబడుతుంది మరియు ఇది ట్రాఫిక్ అంతరాయానికి సంభావ్య అవకాశం. ట్రాఫిక్ బహిర్గతం లేకుండా పని చేసే ఎంపిక సాధారణంగా అదనపు రుసుము కోసం టాప్ టారిఫ్ ప్లాన్‌లలో అందించబడుతుంది.

5. కనెక్షన్ జాప్యాలను తగ్గించండి

ప్రతి ఒక్కరూ మాట్లాడే CDN యొక్క ప్రధాన ప్రయోజనం: CDN హోస్ట్ మరియు వినియోగదారు మధ్య తక్కువ జాప్యం (తక్కువ దూరం). భౌగోళికంగా పంపిణీ చేయబడిన నెట్‌వర్క్ ఆర్కిటెక్చర్‌ను సృష్టించడం ద్వారా సాధించబడింది, దీనిలో హోస్ట్‌లు వినియోగదారుల ఏకాగ్రత (నగరాలు, ట్రాఫిక్ మార్పిడి పాయింట్లు మొదలైనవి)లో ఉంటాయి.

ఆచరణలో, వివిధ నెట్‌వర్క్‌ల ప్రాధాన్యతలు నిర్దిష్ట ప్రాంతాలలో ఉండవచ్చు. ఉదాహరణకు, రష్యన్ CDNలు రష్యాలో ఉనికిని కలిగి ఉంటాయి. అమెరికన్లు ముందుగా USAలో నెట్‌వర్క్‌ను అభివృద్ధి చేస్తారు. ఉదాహరణకు, అతిపెద్ద CDN క్లౌడ్‌ఫ్లేర్‌లో రష్యాలో 2 పాయింట్లు మాత్రమే ఉన్నాయి - మాస్కో మరియు సెయింట్ పీటర్స్‌బర్గ్. అంటే, మాస్కోలో డైరెక్ట్ ప్లేస్‌మెంట్‌తో పోలిస్తే మనం గరిష్టంగా 10 ఎంఎస్‌ల జాప్యాన్ని ఆదా చేయవచ్చు.

చాలా పాశ్చాత్య CDNలకు రష్యాలో పాయింట్లు లేవు. వారికి కనెక్ట్ చేయడం ద్వారా, మీరు మీ రష్యన్ ప్రేక్షకుల కోసం మాత్రమే ఆలస్యాన్ని పెంచగలరు.

6. కంటెంట్ ఆప్టిమైజేషన్ (కనిష్టీకరణ, నిర్మాణ మార్పులు)

అత్యంత క్లిష్టమైన మరియు సాంకేతికంగా అభివృద్ధి చెందిన పాయింట్. డెలివరీ సమయంలో కంటెంట్‌ని మార్చడం చాలా ప్రమాదకరం. మేము సూక్ష్మీకరణను తీసుకున్నప్పటికీ: సోర్స్ కోడ్‌ను తగ్గించడం (అదనపు ఖాళీలు, అప్రధానమైన నిర్మాణాలు మొదలైన వాటి కారణంగా) దాని పనితీరును ప్రభావితం చేయవచ్చు. మేము మరింత తీవ్రమైన మార్పుల గురించి మాట్లాడినట్లయితే - JS కోడ్‌ను HTML చివరకి తరలించడం, ఫైల్‌లను విలీనం చేయడం మొదలైనవి - సైట్ యొక్క కార్యాచరణకు అంతరాయం కలిగించే ప్రమాదం మరింత ఎక్కువగా ఉంటుంది.

అందువల్ల, కొన్ని రకం 5 CDNలు మాత్రమే దీన్ని చేస్తాయి. వాస్తవానికి, పనులను వేగవంతం చేయడానికి అవసరమైన అన్ని మార్పులను ఆటోమేట్ చేయడం సాధ్యం కాదు-మాన్యువల్ విశ్లేషణ మరియు ఆప్టిమైజేషన్ అవసరం. ఉదాహరణకు, ఉపయోగించని లేదా నకిలీ కోడ్‌ను తీసివేయడం అనేది మాన్యువల్ పని.

నియమం ప్రకారం, అటువంటి అన్ని ఆప్టిమైజేషన్లు సెట్టింగ్‌ల ద్వారా నియంత్రించబడతాయి మరియు అత్యంత ప్రమాదకరమైనవి డిఫాల్ట్‌గా నిలిపివేయబడతాయి.

CDN రకం ద్వారా త్వరణం సామర్థ్యాలకు మద్దతు

కాబట్టి వివిధ రకాల CDNలు అందించే సంభావ్య త్వరణ అవకాశాలను చూద్దాం.

సౌలభ్యం కోసం, మేము వర్గీకరణను పునరావృతం చేస్తాము.

  1. JS లైబ్రరీలను పంపిణీ చేయడానికి ఉచిత CDN (MaxCDN, Google. Yandex).
  2. క్లయింట్ ఆప్టిమైజేషన్ కోసం సేవల CDN (ఉదాహరణకు, ఫాంట్‌ల కోసం Google ఫాంట్‌లు, క్లౌడ్‌నరీ, చిత్రాల కోసం క్లౌడ్ ఇమేజ్).
  3. CMSలో స్టాటిక్ మరియు రిసోర్స్ ఆప్టిమైజేషన్ కోసం CDN (Bitrix, WordPress మరియు ఇతరులలో అందుబాటులో ఉంది).
  4. సాధారణ ప్రయోజన CDN (స్టాక్‌పాత్, CDNVideo, NGENIX, Megafon).
  5. వెబ్‌సైట్ త్వరణం కోసం CDN (Cloudflare, Imperva, Airi).

ఇప్పుడు CDN యొక్క లక్షణాలు మరియు రకాలను సరిపోల్చండి.

అవకాశం
టైప్ 1
టైప్ 2
టైప్ 3
టైప్ 4
టైప్ 5

టెక్స్ట్ కంప్రెషన్
+–
-
+–
+–
+

కాష్ హెడర్‌లు
+
+
+
+
+

చిత్రాలు
-
+–
+–
-
+

TLS
-
-
-
+–
+

ఆలస్యమవుతుంది
-
-
-
+
+

విషయ సూచిక
-
-
-
-
+

ఈ పట్టికలో, పూర్తి మద్దతును సూచించడానికి “+” ఉపయోగించబడుతుంది, “–” అనేది మద్దతు లేదు మరియు “+–” అనేది పాక్షిక మద్దతు. వాస్తవానికి, వాస్తవానికి ఈ పట్టిక నుండి వ్యత్యాసాలు ఉండవచ్చు (ఉదాహరణకు, కొన్ని సాధారణ-ప్రయోజన CDN చిత్రాలను ఆప్టిమైజ్ చేయడానికి లక్షణాలను అమలు చేస్తుంది), కానీ సాధారణ ఆలోచన కోసం ఇది ఉపయోగకరంగా ఉంటుంది.

ఫలితాలు

ఆశాజనక, ఈ కథనాన్ని చదివిన తర్వాత మీరు మీ సైట్‌లను వేగవంతం చేయడానికి “CDNని ఉపయోగించండి” సిఫార్సు గురించి స్పష్టమైన చిత్రాన్ని కలిగి ఉంటారు.

ఏదైనా వ్యాపారంలో వలె, మీరు ఏ సేవ యొక్క మార్కెటింగ్ వాగ్దానాలను నమ్మలేరు. వాస్తవ పరిస్థితులలో ప్రభావాన్ని కొలవడం మరియు పరీక్షించడం అవసరం. మీరు ఇప్పటికే CDNని ఉపయోగిస్తుంటే, వ్యాసంలో వివరించిన ప్రమాణాలను ఉపయోగించి ప్రభావం కోసం దాన్ని తనిఖీ చేయండి.

ప్రస్తుతం CDNని ఉపయోగించడం వల్ల మీ సైట్ లోడ్ అయ్యే సమయం మందగించే అవకాశం ఉంది.

సాధారణ సిఫార్సుగా, మేము ఈ క్రింది వాటిపై దృష్టి పెట్టవచ్చు: మీ ప్రేక్షకులను అధ్యయనం చేయండి, దాని భౌగోళిక పరిధిని నిర్ణయించండి. మీ ప్రధాన ప్రేక్షకులు 1-2 వేల కిలోమీటర్ల వ్యాసార్థంలో కేంద్రీకృతమై ఉంటే, దాని ప్రధాన ప్రయోజనం కోసం మీకు CDN అవసరం లేదు - జాప్యాన్ని తగ్గించడం. బదులుగా, మీరు మీ సర్వర్‌ని మీ వినియోగదారులకు దగ్గరగా ఉంచవచ్చు మరియు దానిని సరిగ్గా కాన్ఫిగర్ చేయవచ్చు, కథనంలో వివరించిన చాలా ఆప్టిమైజేషన్‌లను పొందవచ్చు (ఉచిత మరియు శాశ్వత).

మీ ప్రేక్షకులు నిజంగా భౌగోళికంగా పంపిణీ చేయబడితే (3000 కిలోమీటర్ల కంటే ఎక్కువ వ్యాసార్థం), నాణ్యమైన CDNని ఉపయోగించడం నిజంగా ఉపయోగకరంగా ఉంటుంది. అయినప్పటికీ, మీ CDN సరిగ్గా ఏమి వేగవంతం చేయగలదో మీరు ముందుగానే అర్థం చేసుకోవాలి (సామర్థ్యాల పట్టిక మరియు వాటి వివరణను చూడండి). అయినప్పటికీ, వెబ్‌సైట్ త్వరణం ఇప్పటికీ సంక్లిష్టమైన పనిగా మిగిలిపోయింది, ఇది CDNని కనెక్ట్ చేయడం ద్వారా పరిష్కరించబడదు. పైన పేర్కొన్న ఆప్టిమైజేషన్‌లతో పాటు, త్వరణం యొక్క అత్యంత ప్రభావవంతమైన సాధనాలు CDN వెనుక ఉన్నాయి: సర్వర్ భాగం యొక్క ఆప్టిమైజేషన్, క్లయింట్ భాగానికి అధునాతన మార్పులు (ఉపయోగించని కోడ్‌ను తీసివేయడం, రెండరింగ్ ప్రక్రియను ఆప్టిమైజ్ చేయడం, కంటెంట్‌తో పని చేయడం, ఫాంట్‌లు, అనుకూలత మొదలైనవి. )

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి