반응형

Chapter09. DNS 조회를 줄여라.


 DNS는 우리가 기억하기 어려운 호스트의 IP 주소를 쉽게 찾을 수 있도록 도와주고, 서버 IP가 바뀌더라도 도메인을 통해 호스트를 찾아갈 수 있도록 해 준다. 이러한 DNS 응답시간은  DNS 리졸버에 몰리는 사용량, 브라우저와 얼마나 가까이 있는가, 대역폭 속도는 얼마인 가에 따라서 달라진다. 


1. DNS 캐싱과 TTL.

 DNS 조회는 더 나은 성능을 위해서 캐시에 저장되는데 이 저장은 주기적으로 캐시에서 삭제되어야만 했고 얼마나 자주 삭제되는지는 여러 가지 설정에 의해 결정된다.


ㄱ. DNS 캐싱에 영향을 주는 요소.

 OS와 브라우저의 캐싱 그리고 HTTP 의  Kepp-Alive 의 우선순위를 고려해야 하며, DNS의 TTL값도 함께 캐싱에 영향을 주는 요소이다.


ㄴ. TTL 값.

 클라이언트가 받은 한 호스트 이름에 대한 DNS 기록의 평균 TTL값은 최대 TTL값의 반이다.



2. 브라우저 입장에서 본 DNS 조회.

ㄱ. 인터넷 익스플로어.

 ipconfig/displaydns, ipconfig/flushdns 를 통해 조회 및 초기화 할 수 있다. DnsCacheTimeout, KeepAliveTimeOut, ServerInfoTimeOut 속성이 있고 레지스트리 설정을 통해 제어 가능하며, Keep-Alive 의 역할이 중요함.


ㄴ. 파이어폭스.

network.dnsCacheExpiration, network.dnsCacheEntries, network.http.keep-alive.timeout 의 세 속성으로 제어할 수 있다.


3. DNS 조회를 줄이자.

 클라이언트의 DNS 캐시가 비어 있을 때(브라우저와 OS 둘 다), DNS조회 횟수는 해당 페이지 안에 존재하는 고유한 호스트 이름의 개수와 동일하다. 고유한 호스트 이름의 수를 줄이면 한 페이지 내에서 동시에 다운로드될 수 있는 구성요소도 줄어든다. DNS 조회를 줄이는 것과 동시 다운로드를 최대한 활용하고자 하는 좋은 절충안을 찾아야 할 것이다.


Kepp-Alive를 사용하고 도메인 수를 줄여 DNS 조회 수를 줄여라.


반응형

+ Recent posts