본문 바로가기
프로그래밍 놀이터/Web

[web network] Domain Sharding 이란?

by 돼지왕왕돼지 2018. 5. 10.

[web network] Domain Sharding 이란?


참조 : https://www.maxcdn.com/one/visual-glossary/domain-sharding-2/


-

sharding 이라는 것은 “조각, 파편” 이라는 뜻.



-

Domain sharding 은 resource 를 여러 개의 domain 으로 나누어 저장하여,

page load time 을 향상시키는 일종의 트릭 혹은 방법이다.


여러 개의 domain 으로 나누어진 리소스를 다운받기 때문에 browser 는 더 많은 리소스를 한번에 더 많이 받을 수 있다.



-

Domain sharding 을 적용하는 이유는 대부분의 web browser 가 한개의 domain 에 대해 active connection 을 제한하기 때문이다.

예를 들어 image, css, js 등을 동시에 다운받을 경우 limit 을 넘는 갯수를 다운받아야 하는 페이지에서는 slow loading 이 될 수 있다.



-

최신 브라우저들은 보통 한 도메인에 약 6개의 동시 다운로드를 제공한다.

이 갯수를 초과하는 페이지의 경우 초과하는 갯수를 6으로 나눈 도메인에 리소스를 뿌려두면, parallel 하게 리소스들을 다운받을 수 있다.



-

Domain sharding 이 항상 좋은 것은 아니다.

performance loss 를 유발하기도 한다.

Web browser 는 DNS lookup 을 추가 domain 에 대해서 수행해야 하고, 각 domain 에 대해서 connection 을 유지해야 한다.

그래서 최초 initial load time 은 길어질 수도 있다.


YAHOO 의 연구에 따르면 2 ~ 4개의 domain 이 최적의 비율이라고 한다.

domain 이 많다고 무조건 좋은 것은 아니라는 것.



-

SPDY 는 제한없는 동시 요청이 가능하기 때문에, domain sharding 을 해결할 수 있다.

SPDY 를 정식 지원하기 전까지는 domain sharding 이 효율적일 수 있으나, SPDY 를 도입하면서부터는 overhead 문제로 오히려 domain sharding 을 제거하는 것이 추천된다.




댓글0