Optymalizacja pobierania dużych plików za pomocą usługi Azure Content Delivery Network
Ważne
Usługa Azure CDN Standard firmy Microsoft (klasyczna) zostanie wycofana 30 września 2027 r. Aby uniknąć zakłóceń w działaniu usługi, należy przeprowadzić migrację profilów usługi Azure CDN Standard z usługi Microsoft (klasycznej) do warstwy Azure Front Door Standard lub Premium do 30 września 2027 r. Aby uzyskać więcej informacji, zobacz Azure CDN Standard from Microsoft (classic) retirement (Wycofanie usługi Azure CDN w warstwie Standardowa z firmy Microsoft (wersja klasyczna).
Usługa Azure CDN z Edgio zostanie wycofana 15 stycznia 2025 r. Przed tą datą należy przeprowadzić migrację obciążenia do usługi Azure Front Door, aby uniknąć przerw w działaniu usługi. Aby uzyskać więcej informacji, zobacz Azure CDN from Edgio retirement FAQ (Usługa Azure CDN from Edgio retirement FAQ).
Rozmiary plików zawartości dostarczanej przez Internet nadal rosną ze względu na ulepszone funkcje, ulepszoną grafikę i zawartość multimedialną. Ten wzrost jest napędzany wieloma czynnikami: penetracja łączy szerokopasmowych, większe niedrogie urządzenia magazynujące, powszechny wzrost wideo o wysokiej rozdzielczości i urządzenia połączone z Internetem (IoT). Szybki i wydajny mechanizm dostarczania dużych plików ma kluczowe znaczenie dla zapewnienia bezproblemowego i przyjemnego środowiska użytkownika.
Dostarczanie dużych plików ma kilka wyzwań. Po pierwsze średni czas pobierania dużego pliku może być znaczący, ponieważ aplikacje mogą nie pobierać wszystkich danych sekwencyjnie. W niektórych przypadkach aplikacje mogą pobrać ostatnią część pliku przed pierwszą częścią. Jeśli żądana jest tylko niewielka ilość pliku lub użytkownik wstrzyma pobieranie, pobieranie może zakończyć się niepowodzeniem. Pobieranie może być również opóźnione, dopóki sieć dostarczania zawartości nie pobierze całego pliku z serwera pochodzenia.
Po drugie opóźnienie między maszyną użytkownika a plikiem określa szybkość wyświetlania zawartości. Ponadto przeciążenie sieci i problemy z pojemnością wpływają również na przepływność. Większe odległości między serwerami a użytkownikami tworzą większe możliwości utraty pakietów, co zmniejsza jakość. Zmniejszenie jakości spowodowane ograniczoną przepływnością i zwiększoną utratą pakietów może zwiększyć czas oczekiwania na zakończenie pobierania pliku.
Po trzecie, wiele dużych plików nie jest dostarczanych w całości. Użytkownicy mogą anulować pobieranie w połowie drogi lub obejrzeć tylko pierwsze kilka minut długiego wideo MP4. W związku z tym firmy dostarczające oprogramowanie i media chcą dostarczyć tylko część żądanego pliku. Wydajna dystrybucja żądanych części zmniejsza ruch wychodzący z serwera pochodzenia. Wydajna dystrybucja zmniejsza również wykorzystanie pamięci i operacji we/wy na serwerze pochodzenia.
Optymalizacja pod kątem dostarczania dużych plików za pomocą usługi Azure Content Delivery Network firmy Microsoft
Usługa Azure CDN Standard z punktów końcowych firmy Microsoft dostarcza duże pliki bez limitu rozmiaru pliku. Dodatkowe funkcje są domyślnie włączone w celu szybszego dostarczania dużych plików.
Fragmentowanie obiektu
Usługa Azure CDN Standard firmy Microsoft używa techniki nazywanej fragmentowaniem obiektów. Po zażądaniu dużego pliku sieć dostarczania zawartości pobiera mniejsze fragmenty pliku ze źródła. Po odebraniu przez serwer POP sieci dostarczania zawartości pełnego lub bajtowego żądania pliku, serwer brzegowy sieci dostarczania zawartości żąda pliku ze źródła we fragmentach o rozmiarze 8 MB.
Po nadejściu fragmentu do krawędzi sieci dostarczania zawartości jest on buforowany i natychmiast obsługiwany dla użytkownika. Następnie sieć dostarczania zawartości pobiera następny fragment równolegle. To wstępne pobieranie gwarantuje, że zawartość pozostaje jedną częścią przed użytkownikiem, co zmniejsza opóźnienie. Ten proces będzie kontynuowany do momentu pobrania całego pliku (jeśli jest to wymagane), wszystkie zakresy bajtów są dostępne (jeśli jest to wymagane) lub klient przerywa połączenie.
Aby uzyskać więcej informacji na temat żądania zakresu bajtów, zobacz RFC 7233.
Sieć dostarczania zawartości buforuje wszystkie fragmenty w miarę ich odbierania. Cały plik nie musi być buforowany w pamięci podręcznej sieci dostarczania zawartości. Kolejne żądania dotyczące plików lub zakresów bajtów są obsługiwane z pamięci podręcznej sieci dostarczania zawartości. Jeśli nie wszystkie fragmenty są buforowane w sieci dostarczania zawartości, pobieranie wstępne jest używane do żądania fragmentów ze źródła. Ta optymalizacja opiera się na możliwości serwera pochodzenia do obsługi żądań zakresu bajtów. Jeśli serwer pochodzenia nie obsługuje żądań zakresu bajtów, żądania pobrania danych o rozmiarze większym niż 8 MB kończą się niepowodzeniem.
Warunki optymalizacji dużych plików
Nie ma żadnych ograniczeń dotyczących maksymalnego rozmiaru pliku.
Obsługa kodowania transferu fragmentowanego
Usługa Dostarczania zawartości firmy Microsoft obsługuje odpowiedzi kodowania transferu, ale tylko do maksymalnego limitu rozmiaru zawartości wynoszącego 8 MB. W przypadku fragmentowanych odpowiedzi zakodowanych za pomocą transferu przekraczających 8 MB sieć dostarczania zawartości firmy Microsoft będzie buforować tylko i obsługiwać początkowe 8 MB zawartości.
Optymalizacja pod kątem dostarczania dużych plików za pomocą usługi Azure Content Delivery Network z usługi Edgio
Usługi Azure CDN Standard from Edgio i Azure CDN Premium z punktów końcowych Edgio dostarczają duże pliki bez limitu rozmiaru pliku. Domyślnie włączono więcej funkcji, aby przyspieszyć dostarczanie dużych plików.
Pełne wypełnienie pamięci podręcznej
Domyślna funkcja wypełniania pełnej pamięci podręcznej umożliwia sieci dostarczania zawartości ściąganie pliku do pamięci podręcznej po porzuceniu lub utracie początkowego żądania.
Pełne wypełnienie pamięci podręcznej jest najbardziej przydatne w przypadku dużych zasobów. Zazwyczaj użytkownicy nie pobierają ich od początku do końca. Używają pobierania progresywnego. Domyślne zachowanie wymusza, aby serwer brzegowy zainicjował pobieranie w tle zasobu z serwera pochodzenia. Następnie zasób znajduje się w lokalnej pamięci podręcznej serwera brzegowego. Gdy pełny obiekt znajduje się w pamięci podręcznej, serwer brzegowy spełnia żądania zakresu bajtów do sieci dostarczania zawartości dla obiektu buforowanego.
Domyślne zachowanie można wyłączyć za pośrednictwem aparatu reguł w usłudze Azure CDN Premium z usługi Edgio.
Wypełnianie gorącej pamięci podręcznej równorzędnej pamięci podręcznej
Domyślna pamięć podręczna równorzędna wypełnia funkcję gorącego wypełniania używa zaawansowanego algorytmu zastrzeżonego. Używa dodatkowych serwerów buforowania brzegowego na podstawie przepustowości i agregacji metryk żądań w celu spełnienia żądań klientów dla dużych, bardzo popularnych obiektów. Ta funkcja zapobiega sytuacji, w której duża liczba dodatkowych żądań jest wysyłana do serwera pochodzenia użytkownika.
Warunki optymalizacji dużych plików
Duże funkcje optymalizacji plików dla usługi Azure CDN Standard from Edgio i Azure CDN Premium from Edgio są domyślnie włączone w przypadku korzystania z ogólnego typu optymalizacji dostarczania w Internecie. Nie ma żadnych ograniczeń dotyczących maksymalnego rozmiaru pliku.
Inne uwagi
Rozważ następujące aspekty dla tego typu optymalizacji:
Proces fragmentowania generuje więcej żądań do serwera pochodzenia. Jednak ogólna ilość danych dostarczanych ze źródła jest mniejsza. Fragmentowanie skutkuje lepszą charakterystyką buforowania w sieci dostarczania zawartości.
Wykorzystanie pamięci i we/wy jest zmniejszane na początku, ponieważ dostarczane są mniejsze fragmenty pliku.
W przypadku fragmentów buforowanych w sieci dostarczania zawartości nie ma żadnych innych żądań do źródła, dopóki zawartość nie wygaśnie lub zostanie wykluczony z pamięci podręcznej.
Użytkownicy mogą wysyłać żądania zakresu do sieci dostarczania zawartości, które są traktowane jak każdy normalny plik. Optymalizacja ma zastosowanie tylko wtedy, gdy jest prawidłowym typem pliku, a zakres bajtów wynosi od 10 MB do 150 GB. Jeśli żądany średni rozmiar pliku jest mniejszy niż 10 MB, zamiast tego użyj ogólnego dostarczania w Internecie.