서버관리2014. 1. 6. 19:37
300x250

시절이 하수상하여, 

거대 온라인 커뮤니티 사이트가 하루 아침에 만들어져 버리는 어이없는 현상이 발생해 버리기도 한다.


요즘 신규 커뮤니티 사이트로 이슈가 되고 있는 일간워스트(일워) 사이트 이야기다. 

http://ilwar.com/


이 글에서는, 일워 사이트의 커뮤니티적 측면에서가 아닌, 서버 환경 기술적인 측면에서 정리 기술해 보고자 한다. 

우선, 일워 사이트 개발자가 올려 놓은 개장기 이다. 

http://blog.rainygirl.com/?p=1266


서버 환경 기술적으로 트래픽을 어떻게 대처해 나가는 지에 대해서 따라가 보았다. 


1. 호스팅어 무료호스팅 + 제로보드XE

- 2013-12-28, 호스팅 업체는 추정

- 접속자가 몰려 15분만에 호스팅 업체의 CPU 제한이 초과되어 사이트가 중단됨.


2. 유료호스팅 + PHP 기반의 제로보드XE

- 2013-12-28 오후 오픈, 30일 아침에 파이낸셜뉴스에 첫기사 나감.

- 이후 실시간검색어와 기사로 인해, 순방문자 백만명 돌파.

- 동시접속자까지도 폭발하면서 유료호스팅 트래픽 초과로 사이트 다운.


3. 자체서버 + nginx + php-fpm + XE

- 서버 사양은 확인이 안됨.

- 2013-12-29 첫날, 생전 보도 못한 트래픽 발생했다고 함.

- 2013-12-30 둘쨋날, 전날의 3배 트래픽 

- 서버 로드율이 70 ~ 80 까지 올라감

- 이후 서버 로드율이 100 을 넘어 갔고, XE 가 500 에러를 발생시키기 시작함.


4. 자체서버 + python 기반의 자체 게시판 소스 + minify + expires 설정 + media query 로 모바일/PC 분귀

- DoS 공격은 방화벽으로 차단

- apache2 + mod-wsgi + django


5. 아파치 설정

- maxclient, minspareserver, process, thread 등의 값 늘리기.

- process x thread < maxclient  이어야 함.

- 이렇게 하여, 동시접속 수만여건 처리 가능해짐


6. MySQL 설정

- my.cnf  의 max_connection 값 늘리기


결론..

이렇게 기술적으로 적용을 해 가면서 수십만 동시접속을 처리할 수 있게 되었다는 내용이다. 

요즘 apache 의 대안으로 nginx 가 많이 대두가 되고 있는데, 

일워 사이트도 초창기에 nginx 서버 사용을 시도하기도 했다. 

nginx 에서는 php 가 동작하지 않기 때문에, php-fpm 으로 제로보드XE 를 운영하였다. 

그러다, 나중에는 apache 로 웹서버를 변환하였다. 

아파치에 django 가 돌아갈 수 있게 해 주는 mod-wsgi 를 이용하고, django 가 python 으로 작성되었기 때문에, 

python 으로 사이트를 제작하였다.

웹소스도 python 언어로 자체적인 게시판을 만들어 버렸기 때문에, 자동글도배 프로그램에도 잘 방어가 될 수 있어 보인다. 


신생 커뮤니티로서 이 사이트가 현재의 규모를 계속 이어갈 수 있을 지..

앞으로 기술적으로 어떻게 변화가 있을지.. 

지켜볼 일이다. 




300x250
Posted by 마스타