Jak działa optymalizacja przepustowości?


11

Zoptymalizowałem połączenie wszystkich plików CSS i JavaScript w mojej witrynie.

zdjęcie 1.

Jeśli uruchomię Yslow w przeglądarce Firefox, aby zobaczyć składniki załadowane dla tej witryny, pokaże, że ładuje 8 plików JavaScript i 8 plików CSS.

zdjęcie 2

Dlaczego te pliki nie są łączone?

Odpowiedzi:


10

Zagregowane pliki CSS i JS w Drupal 7 są podzielone na grupy, więc naturalnie uzyskasz więcej plików niż zwykle w Drupal 6.

Nie będę wchodził w to wszystko, ponieważ istnieje już doskonały artykuł , który wyjaśnia go z dokładnością.

D7 stosuje nową strategię, aby rozwiązać ten problem - agregaty są podzielone na trzy grupy: CSS_SYSTEM, CSS_DEFAULT i CSS_THEME dla stylów oraz JS_LIBRARY, JS_DEFAULT i JS_THEME dla Javascript. Każda grupa jest dalej podzielona na pliki ładowane na każdej stronie oraz pliki ładowane warunkowo w oparciu o opcję „every_page”. Zauważ, że ta opcja ma pewien potencjał do zamieszania - nie powoduje, że plik jest ładowany na każdej stronie - to tylko „wskazówka” dla systemu podstawowego, aby umieścić go w tej grupie.

Ostatecznie celem tych podziałów jest grupowanie plików w grupy funkcjonalne, które są mniejsze i mniej prawdopodobne, że zostaną podzielone przez błędny styl warunkowy lub skrypt. Otrzymujemy osobne pliki dla bibliotek podstawowych, motywu i plików specyficznych dla strony. Patrząc na wyniki, zapasowy Drupal 7 wyświetla osiem arkuszy stylów (w tym style przeglądarki), podczas gdy D6 ma tylko trzy w domyślnej instalacji. Czy to jest optymalne? Odpowiedź będzie inna dla każdej strony.

Jeśli powoduje to problemy, możesz rzucić okiem na moduł Core Library :

Ten moduł zmienia proces mechanizacji agregacji rdzenia Drupala. Znacznie zmniejsza on operacje we / wy i zagregowaną liczbę plików oraz zwiększa szanse na trafienie w pamięć podręczną klienta, dlatego chociaż produkuje większe zagregowane pliki, znacznie zmniejsza wykorzystanie przepustowości podczas przeglądania przez użytkowników.


Świetny artykuł. Zostawię pliki bez zmian.
chefnelone

Dodaj także, że AdvAgg może być używany do wymuszania większych grup.
mikeytown2
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.