기획으로 주특기(?)를 바꾼지가 4년이 넘어가고 있어서 가물가물한 기억들 끄집어내느라 많이
힘들었지만, 마무리하고 나니 마음이 너무 가뿐하네요. 어서 10톤짜리 서비스와 100톤의 트래픽을 언져 주어야 겠습니다 :)
금번 서버개편으로 믹시의 서비스는 2중화된 서버로 운영되며, 이를 통해 기존 트래픽 폭주시 발생하였던 위젯로딩에러문제(이로인한 각 블로그 로딩속도 지연 문제), 홈페이지 접속 지연문제가 해소될 것으로 기대하고있습니다.
또한 만약에 발생할 수 있는 서비스장애시 각 블로그에 미치는 영향이 없도록 원천적인 구조개선 작업이 진행되었습니다.
따끔한 지적과 많은 조언을 해주신 LieBe님,돌이아빠님 그리고 리플로 문제점들을 지적해주신 모든 회원님들께 다시한번 감사드립니다. 달리겠습니다. 아뵤 oo//
아래는 상세한 작업내역이며, 다소 기술적인 내용들이 포함되어 있습니다.
1. 효율적인 캐싱시스템 적용
컨텐츠의 주요 메타정보가 웹서버에 캐싱되어 제공되도록 변경되었습니다.예를들어, 'IT카테고리>실시간인기글' 에 보여질 글 목록의 UID 리스트, 각 글의 주요 메타정보
(링크주소, 조회수, mixUP횟수) 등이 웹서버에 캐싱됩니다.
최초 1회 Access 이후에는 별도의 DB work이 발생하지 않기때문에 좀더 빠른 응답성능이 기대됩니다.
보통 위와같은 경우, 캐시된 내용을 최신것으로 유지하기위해 캐시만료시간을 두어 정기적으로 내용이 갱신되도록 하지만, 믹시의 경우 실재 내용의 변경이 발생했을 경우에만 각 서버에 내용을 알려 캐시가 갱신되도록 하였습니다.
캐시의 내용을 항상 최신으로 유지하면서, 불필요한 캐시갱신을 위한 리소스낭비도 최소화 할 수 있을 것으로 기대됩니다
2. 안정적 분산처리
웹페이지와 위젯의 빠른 response를 위해 웹서버를 6대로 증설하였으며 LVS를 통해 각 웹서버로 load balancing되도록 하였습니다. ( 기존:DNS-Base Round Robin )HOWTO 대충보고 기억을 더듬어 셋팅하다가 꼬여버려서 삽질 엄청했습니다 ㅜ ㅜ.
서너시간 삽질하다가 지쳐서 중고 L4 가격을 찾아보기도...( 많이 싸졌더군요.. )
3. 페이지 압축전송
HTML, CSS, JS 등의 파일을 client에게 전송할 때 GZIP(mod_deflate)을 통해 압축전송 하도록 변경되었습니다.체감속도에 크게 영향을 주는 변화는 아니지만, 동일한 컨텐츠를 전송하기위해 사용되는 network resource는 최대 10/1수준으로 감소할 것으로 예상됩니다.
믹시 메인페이지를 예로들면 160K수준이던 내용이 12K수준으로 줄어들었습니다.
Posted by Endless9