2010-06-21 10 views
6

더 좋을 것.성능면에서 무엇이 더 좋습니까?

20 개의 자바 스크립트 파일이 있습니다. 10은 모든 페이지에서 공유됩니다. 그래서 그들은 마스터 페이지에있을 것입니다. 이제 다른 10 명은 어때? 한 페이지는 4/10을 사용하고 다른 페이지는 4/10을 사용하고 다른 페이지는 2/10을 사용한다고 가정 해보십시오.

a) 모든 파일을 하나의 파일 (동적 인 것은 물론)로 결합하여 하나의 http 요청 만 작성하는 것이 좋습니다.

또는

b)는 (10)는 다음, 마스터 페이지에있는 다른 모든 페이지가 결합 된 것을 결합했다. 나는 4 ~ 5 자바 스크립트에서 찾고있을 것입니다 일부 내 페이지에 따라서

구글 CDN에서 JQuery와 UI에 대한 구글 CDN

  • 하나에서 JQuery와에 대한 마스터
  • 하나에서

    1. 하나를 요청
    2. jquery에 대한 유효성은 MS CDN
    3. 중 하나입니다.

    대부분의 스크립트는 jquery ajax 탭을 사용하기 때문에 이미 jquery live를 사용하고 있으며 동시에 각 탭의 모든 스크립트를로드해야합니다.

    다른 탭으로 갈 때마다 그렇지 않으면 사용자가 동일한 탭을 몇 번로드했는지 X 시간을 클릭하는 것과 같은 바인딩 이벤트를 시작하기 때문에 새로운 JavaScript 세트를 다운로드하게됩니다.

  • +0

    mantain 당신의 js 파일은 비교적 작습니다. 하나의 큰 파일에 많은 것들을 결합하지 마십시오! 서버 측 언어를 사용하여 현재 페이지를 기반으로 전환하십시오! 모든 js 파일을 최소화하십시오! –

    +0

    특히 자바 스크립트 나 jQuery와 관련이 없으므로 제목을 수정하여 HTTP 요청이나 자바 스크립트 성능을 나타내야합니다. – Jordan

    답변

    1

    사용중인 언어/서버에 따라 페이지에 필요한 javascript 파일을 해당 페이지에 대한 단일 요청으로 동적으로 결합하는 많은 도구가 있습니다. Microsoft CDN에 대한 참조를 기반으로 ASP.NET을 사용하는 것처럼 들립니다. Here's a combiner that might work for you은 로컬 JS 파일에 대한 요청을 단일 요청으로 결합합니다. 하나에 (위에서와 같은 도구를 사용하여) 결합

  • 지역 JS 파일

    1. JQuery와 & JQuery와 UI를 구글
    2. JQuery와 유효성 검사에서 MS CDN에서 : 그것은 나를라면, 내가 무엇을 할 것이라고하는 것은 부하이다 다운로드.

    그런 식으로 세 가지 병렬 다운로드를 얻을 수 있습니다.

  • +0

    글쎄, 나는 http combiner라고 불리는 것을 사용한다. 그러나 나의 목록은 내가 얻을 수있는 요청이 거의 없다. 나는 2-3 (모든 CDN)을 결합 할 수 있었다. 그러나 나는 잠재적 인 캐시 된 버전을 잃어 버릴 것이라고 생각했다. – chobo2

    +0

    다른 도메인의 요청은 서로 병렬로 실행됩니다. 따라서 Google/MS/로컬 사이트 요청도 동시에 실행됩니다. 또한 특정 사용자에 대해 JQuery/JQuery UI/JQuery Validate를 한 번 다운로드하면 캐시에 해당 JQuery UI/JQuery Validate가있을 가능성이 높습니다. 따라서 핵심은 가능한 한 작은 요청으로 로컬 리소스 요청을 가져 오는 것입니다. – Keltex

    +0

    http://code.msdn.microsoft.com/HttpCombiner를 사용하는 것과 어떻게 다른지 모르겠습니다. 이제 하나 (구글 물건) 당신은 그들을 빗질하거나 그냥 링크를 사용하고 계십니까? 네, 저는 다른 도메인이 병렬로 실행된다는 것을 알고 있습니다. 왜 제가 jquery U를위한 제 3의 사이트를 찾으려고 했었습니다. 그런 식으로 그 3 가지를 동시에 해제 할 것입니다. – chobo2

    0

    비공유 파일의 크기에 따라 다릅니다. 너무 크지 않은 경우 결합하십시오. 요청은 일반적으로 전송하는 것보다 오래 걸립니다. 물론 당신이 정말로 관심이 있다면, 당신은 당신 자신의 벤치 마크를해야합니다.

    의심 스럽다면 결합하십시오.

    편집 : 방금 다시 질문을 읽었습니다. 마스터 통합 버전을 캐시하는 옵션 B가 더 좋습니다.

    +0

    크기가 너무 큽니까? – chobo2

    +0

    나를위한 어림짐작은 파일 당 대략 75kb이다. 그 이상의 경우 병렬 HTTP 다운로드를 위해 적어도 2 개의 파일로 분할하는 것이 좋습니다. – Jordan

    관련 문제