설치형 블로그나 사이트 같은 경우 속도에 상당히 민감해 지는데요.
일반적으로 CMS를 이용해 홈페이지나 블로그를 만들게 되는데 기본 뼈대의 속도 또한 중요하지만 커뮤니티나 방문자가 많은 블로그 같은 경우 한정된 자원에서 속도를 끌어 올리려면 여러가지 튜닝을 하게 됩니다.
이번에 공유할 작업(?)은 dns prefetch로 블로그, 홈페이지등 사이트 속도를 끌어 올리는 팁입니다.
들어가기 앞서 페이지 내부에 외부 링크 빈도가 높은 경우 효과가 있으며 페이지뷰가 낮은 소규모 블로그, 홈페이지에서는 그 효과가 없음을 먼저 얘기 하고 시작하겠습니다.
목차
dns prefetch란?
우리가 사용하는 도메인은 IP(아이피)를 사람이 인식하게 편하게 문자열로 대체해서 사용하는 것으로 그 기본은 IP이기 때문에 도메인과 아이피간에 Handshake가 이루어 지게 됩니다.
이때 dns prefetch는 해당 도메인에 대해 미리 Handshake를 해 놓음으로써 속도를 좀 더 빠르게 한다는 기능입니다.
dns prefetch 적용 방법
앞서 얘기했던 것처럼 ‘DNS 주소를 미리 로딩한다.’ 라는 개념 때문에 페이지뷰가 높은 사이트에서 그 효과가 생기게 됩니다.
사이트 관리자 입장에서 애널리틱스를 통한 분석으로 외부의 특정 사이트 빈도가 상당히 높거나 메인 서버 이외의 이미지 서버 주소, 특히 해외 서버(애드센스등)를 설정해 놓으면 효과가 커지게 됩니다.
dns prefetch 적용 방법은 HTML 문서의 <head> </head> 태그 안에 아래의 코드를 삽입합니다.
<link rel="dns-prefetch" href="도메인 주소">
너무 많은 도메인을 설정해 놓으면 오히려 속도가 느려질수 있으니 적당히 입력한 다음 테스트하는 것이 좋습니다.
반대로 페이지뷰가 낮은 블로그 같은 경우에는 dns prefetch를 꺼버리는 것이 도움이 됩니다.
이유는 링크가 걸려있는 도메인에 대한 dns prefetch가 이루어 지는데 대부분의 블로그들은 네이버, 구글, 다음등의 검색 엔진을 통해 유입이 이루어 지고 유입된 글에서 다른 글로 넘어가는 빈도가 상대적으로 낮기 때문에 페이지 뷰가 낮다면 미리 로딩해놓은 의미가 없다는 것이죠.
이처럼 페이지뷰가 낮은 경우 dns prefetch를 끄는 코드를 <head> </head> 위쪽에 삽입하면 오히려 불필요한 dns prefetch Handshake가 이루어지지 않아 DNS 요청에 대해 최적화를 할수 있습니다.
<meta http-equiv="x-dns-prefetch-control" content="off">
dns prefetch 설정이 사이트 환경마다 효과가 다르니 테스트를 꼭 한 다음 적용해 보세요.