[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 을 제거하는 것이 추천된다.
'프로그래밍 놀이터 > Web' 카테고리의 다른 글
[web network] inlining 이란? (0) | 2018.05.11 |
---|---|
[network] SNI ( Server Name Indication ) (0) | 2018.05.09 |
[Network] 가상 호스트란 ( Virtual Host ) ? (0) | 2018.05.08 |
AMP HTML 어떤 녀석일까? (0) | 2018.05.07 |
[web network] SPDY ( 스피디 ) (0) | 2018.05.06 |
댓글