Optymalizowanie obsługi treści

Nasze aplikacje internetowe stale się rozwijają pod względem zakresu, funkcjonalności i funkcjonalności – to bardzo dobre zjawisko. Jednak nieustające dążenie do oferowania bogatszych treści w internecie wiąże się z innym trendem: ilość danych pobieranych przez aplikacje stale rośnie. Aby zapewnić doskonałą wydajność, musimy optymalizować dostarczanie każdego bajta.

Jak wygląda nowoczesna aplikacja internetowa? Archiwum HTTP może pomóc nam odpowiedzieć na to pytanie. Projekt śledzi tworzenie stron internetowych przez okresowe indeksowanie najpopularniejszych witryn (ponad 300 000 z listy Alexa Top 1M) oraz rejestrowanie i agregowanie statystyk dotyczących liczby zasobów, typów treści i innych metadanych dla każdego miejsca docelowego.

Trendy archiwum HTTP

50 centyl 75 centyl 90 centyl
HTML 13 KB 26 KB 54 KB
Obrazy 528 KB 1213 KB 2384 KB
JavaScript 207 KB 385 KB 587 KB
CSS 24 KB 53 KB 108 KB
Inny 282 KB 308 KB 353 KB
Łącznie 1054 KB 1985 KB 3486 KB

Powyższe dane pokazują trend wzrostu liczby pobranych bajtów w popularnych miejscach docelowych w internecie od stycznia 2013 roku do stycznia 2014 roku. Oczywiście nie każda witryna rośnie w takim samym tempie lub nie wymaga takiej samej ilości danych, dlatego wyróżniamy różne kwantyle w rozkładzie: 50. (mediana), 75. i 90.

Mediana witryny na początku 2014 roku składa się z 75 żądań, które razem dają 1054 KB łącznej liczby przeniesionych bajtów. Łączna liczba bajtów (i żądań) wzrosła w ubiegłym roku w stałym tempie. Sama zmiana nie powinna być aż tak zaskakująca, ale wiąże się ona z istotnym wpływem na wydajność. Tak, internet staje się coraz szybszy, ale w różnym tempie staje się coraz szybszy w różnych krajach. Wielu użytkowników nadal podlega ograniczeniom użycia danych i drogim abonamentom z pomiarem użycia danych, zwłaszcza na urządzeniach mobilnych.

W przeciwieństwie do ich wersji na komputer aplikacje internetowe nie wymagają osobnego procesu instalacji: wystarczy wpisać URL, a my wszystko działa – to kluczowa funkcja sieci. Aby to osiągnąć, często musimy pobrać dziesiątki, a czasem nawet setki różnych zasobów, z których wszystkie tworzą megabajty danych i muszą się działać w ciągu setek milisekund, aby umożliwić błyskawiczne korzystanie z internetu, na jakim nam zależy.

Uzyskanie błyskawicznego dostępu do internetu w świetle tych wymagań jest niezwykłe, dlatego tak ważna jest optymalizacja efektywności treści: eliminacja zbędnych pobierania, optymalizacja kodowania transferu zasobów za pomocą różnych technik kompresji i wykorzystanie buforowania, gdy tylko jest to możliwe, w celu wyeliminowania nadmiarowych plików do pobrania.