문제

그래서 방금 다운로드했습니다 Firebug 용 Yslow 그리고 내가 건축하고있는 사이트의 결과를 살펴 보았습니다.

예를 들어, 정적 구성 요소의 쿠키 프리 도메인을 사용하고 만료 된 헤더를 추가하는 것이 좋습니다.

나는 생각하고, 나는 이것을 고칠 수 있지만, 먼저 할 수있는 다른 최적화가 더 많을 가능성이 더 높습니다. 예를 들어 데이터베이스 호출 또는 이와 유사한 것의 결과를 캐싱합니다.

나는이 사이트가 Yslow의 권고를 보증하기 위해 '많은'사용을 얻을 것이라고 생각하지 않습니다.

나는 당신이 필요하다는 것을 알기 전에 결코 최적화해서는 안된다는 것을 알고 있지만, 나는 Etags와 같은 것들을 생각하고 헤더가 만료되는 것이 정말로 큰 트래픽이있는 사이트에서만 플레이합니다.

예를 들어, 요청 당 데이터베이스에 5 번 (비교적 작은) 호출을하는 구현이 좋지 않은 경우, YSLOW는 내 14 개의 이미지가 쿠키 프리 도메인에 있지 않다고 말하면 두 가지 최적화가 어떤 두 최적화가되어야한다고 알려줍니다. 먼저 해결 되나요?

도움이 되었습니까?

해결책

Yslow는 사용자가보고있는 "사용자 경험"을 확인하는 것이 좋습니다. 권장 사항은 페이지를 만드는 데 도움이됩니다 나타나다 더 빨리로드합니다. 예를 들어 14 개의 이미지에서 1 개의 이미지와 스프링은 순전히 시각적 인 것입니다. 규칙은 브라우저가 한 번에 몇 가지 이미지 만 병렬로 다운로드 할 수 있기 때문입니다.

나는 당신의 사이트를 확장 가능하게 만드는 데 도움이 될 수 있으므로 항상 백엔드 최적화를 먼저 해결할 것입니다.

다른 팁

우리의 .htaccess 전문가. 그러나 최근에 Joomla 웹 사이트를 만들었고 Yslow를 사용하여 개선 영역을 찾았습니다. 위에서 요청한 YSLOW의 두 영역 ( "Expires Headers add"및 "Entity Tags (ETAGS) 구성" - 내 도메인 루트의 .htaccess 파일을 통해 해결되었습니다.

만료 헤더 추가

야후 말 : "웹 페이지가 더 많은 스크립트, 스타일 시트, 이미지 및 플래시로 점점 더 복잡해지고 있습니다. 페이지를 처음 방문하려면 모든 구성 요소를로드하기 위해 여러 HTTP 요청이 필요할 수 있습니다. 만료 된 헤더를 사용하면 이러한 구성 요소가됩니다. 후속 페이지보기에서 불필요한 HTTP 요청을 피하는 캐시 가능. 만료 헤더는 이미지와 관련이 있지만 스크립트, 스타일 시트 및 플래시를 포함한 모든 페이지 구성 요소에서 사용할 수 있고 사용해야합니다. "

이를 해결하기 위해 다음 코드 블록을 .htaccess 파일에 찾아 추가했습니다 (참고 : OpenangleBracket을 "<"및 ClosedAgnerBracket으로 ">"로 변경) : :


    ########## Begin - Expires Headers
    #
    OPENANGLEBRACKET IfModule mod_expires.c CLOSEDANGLEBRACKET 
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/plain "access plus 1 week"
    ExpiresByType video/x-flv "access plus 1 month"
    OPENANGLEBRACKET /IfModule CLOSEDANGLEBRACKET
    #
    ########## End - Joomla! core SEF Section

엔티티 태그 (ETAGS) 구성

야후 말 : "ENTITIT TAG (Entity Tags)는 메커니즘 웹 서버이며 브라우저는 브라우저 캐시의 구성 요소가 Origin 서버에서 하나와 일치하는지 여부를 결정하는 데 사용됩니다. ETAGS는 일반적으로 특정 서버 호스팅에 고유 한 속성을 사용하여 구성되기 때문입니다. 브라우저가 한 서버에서 원래 구성 요소를 가져 오면 다른 서버에서 해당 구성 요소를 검증하려고 할 때 태그가 일치하지 않습니다. "

.htaccess 파일에 이것을 추가하여 모든 ETAG를 제거하기로 결정했습니다.


    ########## Begin - Remove Etags
    #
    FileETag none
    #
    ########## End - Remove Etags

.htaccess 파일에 대한이 두 가지 변경 사항은이 두 yslow 카테고리에 대한 등급을 제공했습니다.

당신의 어느 쪽을 고치십시오 프로파일 링 말하기는 페이지보기에 가장 빠른 속도를 일으키고 있습니다.

Yslow가 불평하는 것을 고치는 것은 나중에 다시 할 필요없이 나중에 도움이 될 가능성이 높지만 데이터베이스 최적화는 진행중인 작업이 될 것입니다.

즉, 여러 도메인에 이미지를 분할하고 Cookieless로 만들면 이미지를 더 추가하면 해당 도메인을 통해 분할해야합니다 (희망적으로. 자동으로) 그리고 다시는 노력이 필요하지 않습니다.

또한 만료 헤더가 서버에서 더 낮은 수준의 요청을 이끌어냅니다 (응답이 캐시 될 수 있으므로) 모든 사람을위한 방문 속도를 높이십시오.

YSLOW는 백엔드 코드를 볼 수 없으므로 브라우저와 사이트와의 상호 작용에만 권장 사항을 기반으로 할 수 있습니다. 먼저 데이터베이스 호출을 먼저 해결해야합니다. 여러 요청, GZIP 등에 관한 YSLOW의 권장 사항은 매우 견고하지만, 작은 사이트에는 의미가없는 콘텐츠 전달 네트워크를 사용하라고 영원히 말하고 있습니다. 모든 추천에 맹목적으로 많은 시간/돈을 쓰지 말고, 당신이 알고있는 것과 yslow를 고려하십시오.

당신은 매우 정확합니다. 예 : 응용 프로그램 코드 내에서 최적화

  • 느린 데이터베이스 쿼리 최적화
  • 자주 실행되는 쿼리의 캐싱
  • 자주 사용되는 구성 요소의 구성 요소 레벨 캐싱
  • 값 비싼 응용 프로그램 코드의 일반적인 속도 최적화

대부분의 경우 YSLOW 권장 사항보다 훨씬 높은 성능 향상을 제공합니다.

Yslow 최적화는 일반적으로 사이트의 정적 부품의 성능을 향상시킬 때 해결되며, 일반적으로 조정하기 전에 이미 동적 부품보다 이미 성능이 우수합니다.

제발, 제발 쿠키를 사용하지 않고 정적 콘텐츠를 만료하십시오.

그것은 단지 당신을 도울뿐만 아니라 도움이됩니다 .

나는 집에서 느린 인터넷 링크 인 144kbps를 사용합니다. 나는 종종 용량으로로드, 업데이트 또는 비디오 파일을 다운로드합니다. 따라서 대기 시간은 최대 800ms 정도까지 올라갑니다.

수정 된 시계 시간 점검을 위해 많은 라운드 트립을 요구하는 웹 사이트는 매우 느리게로드됩니다. 동적 컨텐츠 만 실제로로드해야하므로 사용하는 사이트는 빠르게로드됩니다.

백엔드 코드는 프론트 엔드 코드보다 더 빠릅니다. 외부 리소스 (CSS 배경 이미지, CSS 파일 및 JavaScript 파일)의 양을 최소로 유지하십시오.

그것은 IMHO를 할 수있는 가장 중요한 최적화 일 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top