Akcelerace dynamického webu prostřednictvím služby Azure Content Delivery Network
S explozí sociálních médií, elektronického obchodování a hyper-personalizovaného webu se v reálném čase generuje rychle rostoucí procento obsahu obsluhovaného koncovým uživatelům. Uživatelé očekávají rychlé, spolehlivé a přizpůsobené webové prostředí nezávisle na prohlížeči, umístění, zařízení nebo síti. Nicméně, velmi inovace, které činí tyto zkušenosti tak poutavé také pomalé stahování stránek a ohrozit kvalitu uživatelského prostředí.
Standardní funkce sítě pro doručování obsahu zahrnuje možnost ukládat soubory do mezipaměti blíže koncovým uživatelům, aby se urychlil doručování statických souborů. U dynamických webových aplikací ale ukládání obsahu do mezipaměti v hraničních umístěních není možné, protože server generuje obsah v reakci na chování uživatele. Zrychlení doručování takového obsahu je složitější než tradiční ukládání do mezipaměti edge a vyžaduje ucelené řešení, které jemně naladí každý prvek podél celé cesty k datům od vzniku až po doručení. Díky optimalizaci dynamické akcelerace webu služby Azure Content Delivery Network (DSA) je výkon webových stránek s dynamickým obsahem měřitelný.
Azure CDN z Edgio nabízí optimalizaci DSA prostřednictvím nabídky Optimalizované pro během vytváření koncového bodu. Akcelerace dynamického webu od Microsoftu se nabízí prostřednictvím služby Azure Front Door.
Důležité
Pro Azure CDN z profilů Edgio nemůžete po vytvoření změnit optimalizaci koncového bodu sítě pro doručování obsahu.
Konfigurace koncového bodu sítě pro doručování obsahu pro zrychlení doručování dynamických souborů
Pokud chcete nakonfigurovat koncový bod sítě pro doručování obsahu tak, aby optimalizoval doručování dynamických souborů, můžete použít web Azure Portal, rozhraní REST API nebo některou z klientských sad SDK, abyste to udělali programově.
Konfigurace koncového bodu CDN pro optimalizaci DSA pomocí webu Azure Portal:
Na stránce profilu CDN vyberte Koncový bod.
Otevře se podokno Přidat koncový bod.
V části Optimalizováno vyberte akceleraci dynamického webu.
Do pole Cesta sondy zadejte platnou cestu k souboru.
Cesta sondy je funkce specifická pro DSA a k vytvoření se vyžaduje platná cesta. DsA používá malý soubor cesty sondy umístěný na zdrojovém serveru k optimalizaci konfigurací směrování sítě pro síť pro doručování obsahu. Pro soubor cesty sondy můžete stáhnout a nahrát ukázkový soubor na web nebo použít existující prostředek ve vašem původu, který má velikost přibližně 10 kB.
Zadejte další požadované možnosti koncového bodu (další informace najdete v tématu Vytvoření nového koncového bodu sítě pro doručování obsahu) a pak vyberte Přidat.
Po vytvoření koncového bodu sítě pro doručování obsahu se použijí optimalizace DSA pro všechny soubory, které splňují určitá kritéria.
Optimalizace DSA s využitím služby Azure Content Delivery Network
Akcelerace dynamického webu ve službě Azure Content Delivery Network zrychluje doručování dynamických prostředků pomocí následujících technik:
Optimalizace trasy
Optimalizace tras je důležitá, protože internet je dynamické místo, kde provoz a dočasné výpadky neustále mění topologii sítě. Protokol BGP (Border Gateway Protocol) je směrovací protokol internetu, ale můžou existovat rychlejší trasy prostřednictvím zprostředkujících serverů POP (Point of Presence).
Optimalizace trasy zvolí optimální cestu k původu, aby web byl nepřetržitě přístupný a dynamický obsah se doručil koncovým uživatelům prostřednictvím nejrychlejší a nejspolehlivější možné trasy.
Síť Edgio používá kombinaci DNS anycastu, vysokou kapacitu podporují poPs a kontroly stavu k určení nejlepších bran pro nejlepší směrování dat z klienta do původu.
V důsledku toho se koncovým uživatelům doručí plně dynamický a transakční obsah rychleji a spolehlivěji, i když není možné ho ukládat do mezipaměti.
Optimalizace PROTOKOLU TCP
Tcp (Transmission Control Protocol) je standard sady internetových protokolů sloužící k doručování informací mezi aplikacemi v síti IP. Ve výchozím nastavení vyžaduje vytvoření připojení TCP více obousměrných požadavků. Kromě toho existují omezení, která brání zahlcení sítě, což může vést k nedostatečné efektivitě při provozu ve velkém měřítku. Azure CDN z Edgio tento problém řeší optimalizací ve třech oblastech:
Odstranění pomalého spuštění protokolu TCP
Pomalý start protokolu TCP je algoritmus protokolu TCP, který brání zahlcení sítě omezením množství dat odesílaných přes síť. Začne s malými velikostmi zahlcení mezi odesílatelem a příjemcem, dokud se nezjistí maximální ztráta paketu.
Profily Azure CDN z Edgio eliminují pomalé spuštění protokolu TCP pomocí následujících tří kroků:
Monitorování stavu a šířky pásma se používá k měření šířky pásma připojení mezi hraničními servery POP.
Metriky se sdílejí mezi hraničními servery POP, aby každý server věděl o podmínkách sítě a stavu serveru ostatních pops kolem nich.
Hraniční servery sítě pro doručování obsahu předpokládají některé parametry přenosu, jako je například optimální velikost okna při komunikaci s jinými hraničními servery sítě pro doručování obsahu v jeho blízkosti. Tento krok znamená, že počáteční velikost okna zahlcení může být zvýšena, pokud je stav připojení mezi hraničními servery sítě pro doručování obsahu schopen vyšších přenosů dat paketů.
Použití trvalých připojení
Při používání sítě pro doručování obsahu se k serveru původu připojuje méně jedinečných počítačů přímo ve srovnání s uživateli, kteří se připojují přímo k vašemu zdroji. Azure Content Delivery Network také spojuje žádosti uživatelů za účelem navázání menšího počtu připojení k počátku.
Jak jsme už zmínili, k navázání připojení TCP se vyžaduje několik požadavků handshake. Trvalá připojení, která se implementují hlavičkou Keep-Alive
HTTP, opakovaně používají stávající připojení TCP pro více požadavků HTTP, aby se ušetřily doby odezvy a urychlily doručení.
Azure CDN z Edgio také odesílá pravidelné pakety zachování stavu přes připojení TCP, aby se zabránilo zavření otevřeného připojení.
Ukládání do mezipaměti
U DSA je ukládání do mezipaměti ve výchozím nastavení vypnuté v síti pro doručování obsahu, i když zdroj obsahuje Cache-Control
nebo Expires
hlavičky v odpovědi. DSA se obvykle používá pro dynamické prostředky, které by se neměly ukládat do mezipaměti, protože jsou jedinečné pro každého klienta. Ukládání do mezipaměti toto chování může přerušit.
Pokud máte web s kombinací statických a dynamických prostředků, je nejlepší použít hybridní přístup, abyste dosáhli nejlepšího výkonu.
Pomocí profilů Azure CDN Standard z profilů Edgio můžete zapnout ukládání do mezipaměti pro konkrétní koncové body DSA pomocí pravidel ukládání do mezipaměti.
Přístup k pravidlům ukládání do mezipaměti:
Na stránce profilu CDN v nastavení vyberte Ukládání do mezipaměti pravidla.
Otevře se stránka pravidel Ukládání do mezipaměti.
Vytvořte globální nebo vlastní pravidlo ukládání do mezipaměti, které zapne ukládání do mezipaměti pro koncový bod DSA.
Pouze pro profily Azure CDN Premium z profilů Edgio zapnete ukládání do mezipaměti pro konkrétní koncové body DSA pomocí modulu pravidel. Všechna vytvořená pravidla ovlivňují pouze koncové body vašeho profilu, které jsou optimalizované pro DSA.
Přístup ke stroji pravidel:
Na stránce profilu CDN vyberte Spravovat.
Otevře se portál pro správu sítě pro doručování obsahu.
Na portálu pro správu sítě pro doručování obsahu vyberte ADN a pak vyberte Modul pravidel.
Alternativně můžete použít dva koncové body sítě pro doručování obsahu: jeden koncový bod optimalizovaný s DSA k doručování dynamických prostředků a dalšího koncového bodu optimalizovaného s typem statické optimalizace, jako je obecné doručování webů, doručovat prostředky s možností ukládání do mezipaměti. Upravte adresy URL webové stránky tak, aby odkazy přímo na prostředek na koncovém bodu sítě pro doručování obsahu, který chcete použít.
Jedná se například mydynamic.azureedge.net/index.html
o dynamickou stránku, která se načte z koncového bodu DSA. Stránka HTML odkazuje na více statických prostředků, jako jsou javascriptové knihovny nebo obrázky načtené z koncového bodu sítě pro doručování statického obsahu, například mystatic.azureedge.net/banner.jpg
a mystatic.azureedge.net/scripts.js
.