트래픽이 많은 메인 화면은 html 로 구워두자.

발생일: 2009.12.30

문제:
대형 쇼핑몰을 보면 메인 화면부터 물품 정보로 가득 차 있다.

메인 페이지의 경우 특히나 트래픽이 많을 것 같은데,
매번 물품 정보에 대한 내용을 DB 에서 가져오면 꽤 부담스러울 것 같다.
인기 모델이나 메인에 들어갈 모델을 따로 테이블로 뽑아 놓는다 하더라도,
DB 커넥션에만 드는 비용을 무시할 수 없을 것 같다.

헌데 각 쇼핑몰에 접속해보면, 그닥 느리지 않다.
플래시나 html 을 그리는 데 시간이 걸리는 게 있어 좀 버벅거린다 싶을 뿐이지,
데이터를 로딩하는 데에는 문제가 없는 것 같다.

어떤 식으로 처리하는 걸까?


해결책:
얼마 전 프렌드 홍이 들었던 어떤 수업의 강사 분이 11번가 프로젝트에 참여했었다고 한다.
그 아저씨가 얘기해주시기를,
쇼핑몰 같이 트래픽이 큰 사이트들은 메인 페이지를 주기적으로 정적인 html 로 구워놓는다고 한다.
(일종의 프록시 패턴이라고 할 수도 있을 것 같다.)

11번가에 접속해 확인해보니, 메인 페이지 뿐만 아니라 각 카테고리의 메인 페이지도 html 로 구현되어 있었다.

11번가 메이 페이지 URL 주소



메인 페이지 좌측 상단의 '베스트플러스' 메뉴를 클릭해보니, 이 페이지도 html 형태이다.

11번가 베스트플러스 페이지 URL 주소



물론, 요청에 대한 url mapping suffix 가 html 수도 있으나,
폴더명 등을 유추해봤을 때 (WAS 에서 뿌려주든 IIS 에서 보여주든 여튼,) 구워진 html 이라고 생각하면 될 것 같다.

그 외에 카테고리 메인 등에도 html 형태로 표시하긴 하나, parameter 를 받는 걸 보면 꼭 정적인 페이지는 아닌가보다.

11번가 특정 카테고리 메인 URL 주소




상세보기나 다른 페이지들을 보면 tmall 등 suffix 가 있어 이 때는 동적으로 가져와 보여주는 것 같다.

11번가 상세보기 페이지 URL 주소




자세한 구현 방식 등은 URL 만 보고 판단할 건 아니지만,
대충 이런 방법으로 하면 효율적이고 좋겠구나. 라고 생각하고 상황에 맞게 잘 활용하면 되겠다.

트래픽이 많은 사이트에 대한 노하우나 튜닝 등에 대한 서적이나 문서도 많을 것 같은데,
한 번 찾아봐야겠다.

(혹시 알고 계시는 분이 있으면 알려주세요~)


카테고리

분류 전체보기 (711)
About me. (6)
Daylogs (676)
영어공부 (0)
My works - 추억 (29)
비공개 (0)