Udostępnij przez


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 Wycofanie usługi Azure CDN w wersji standardowej z firmy Microsoft (wersja klasyczna).

Usługa Azure CDN z Edgio została wycofana 15 stycznia 2025 r. For more information, see 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ż obciążenie pamięci i operacji wejścia/wyjścia na serwerze źródłowym.

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. After the content delivery network POP server receives a full or byte-ranges file request, the content delivery network edge server requests the file from the origin in chunks of 8 MB.

After the chunk arrives at the content delivery network edge, it's cached and immediately served to the user. Następnie sieć dostarczania zawartości pobiera następny fragment równolegle. This prefetch ensures that the content stays one chunk ahead of the user, which reduces latency. 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.

Chunked Transfer Encoding Support

Microsoft content delivery network supports transfer encoding responses, but only up to a maximum content size limit of 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.

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. Chunking results in better caching characteristics at the content delivery network.

  • Memory and I/O pressure are reduced at the origin because smaller pieces of the file are delivered.

  • 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 nie zostanie usunięta 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.