대역폭 최적화는 어떻게 작동합니까?


11

내 사이트의 모든 CSS 및 JavaScript 파일을 결합하도록 최적화했습니다.

이미지 1.

Firefox에서 Yslow를 실행하여이 사이트에로드 된 구성 요소를 보려면 8 개의 JavaScript 파일과 8 개의 CSS 파일을로드하는 것으로 표시됩니다.

이미지 2

왜이 파일들이 결합되지 않습니까?

답변:


10

Drupal 7의 집계 된 CSS 및 JS 파일은 그룹으로 분할되므로 Drupal 6에서 볼 수있는 것보다 더 많은 파일을 자연스럽게 얻을 수 있습니다.

이미 자세한 내용 을 설명 하는 훌륭한 기사 가 있기 때문에 모든 것에 들어 가지 않을 것입니다 .

D7은이를 해결하기 위해 새로운 전략을 사용합니다. 집계는 스타일의 경우 CSS_SYSTEM, CSS_DEFAULT 및 CSS_THEME, Javascript의 경우 JS_LIBRARY, JS_DEFAULT 및 JS_THEME의 세 그룹으로 나뉩니다. 각 그룹은 모든 페이지에로드되는 파일과 'every_page'옵션에 따라 조건부로로드되는 파일로 세분화됩니다. 이 옵션은 혼란을 일으킬 가능성이 있습니다. 파일이 모든 페이지에로드되지는 않습니다. 코어 시스템이 해당 그룹에 파일을 배치하기위한 "힌트"일뿐입니다.

궁극적으로 이러한 구분의 목적은 파일을 더 작고 잘못된 조건부 스타일 또는 스크립트에 의해 분할 될 가능성이 적은 기능 그룹으로 그룹화하는 것입니다. 핵심 라이브러리, 테마 및 페이지 별 파일을위한 별도의 파일이 제공됩니다. 결과를 보면, 재고 Drupal 7은 8 개의 스타일 시트 (브라우저 스타일 포함)를 출력하는 반면 D6은 기본 설치에 3 개만 있습니다. 이것이 최적입니까? 답변은 사이트마다 다릅니다.

문제가 발생하면 핵심 라이브러리 모듈을 살펴볼 수 있습니다 .

이 모듈은 Drupal 코어 집계 메커니즘 프로세스를 변경합니다. I / O 및 집계 된 파일 수를 크게 줄이고 클라이언트 캐시 적중 가능성을 향상 시키므로 집계 된 파일을 더 많이 생성하는 동안 사용자가 탐색하는 동안 대역폭 사용률을 크게 줄입니다.


훌륭한 기사 파일을 그대로 두겠습니다.
chefnelone

또한 AdvAgg 를 사용하여 더 큰 그룹을 강제 할 수 있습니다.
mikeytown2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.