[질문]
항상 궁금했던 내용이라 질문해봅니다.
게시판이 1,850개 정도되며 각 게시판 마다 하루 평균 10메가 내외의 데이터가 올라가고.
게시판마다 방문자가 하루 누적 100명, 전체 185,000 명의 누적방문자, 평균 2만명 수준의 동시방문자.
이정도 규모의 사이트라고 한다면,
어떤 규모의 서버를 이용해야할까요. 까페24에 웹호스팅 중 무제한 트래픽인 월 3만원 정도의 서비스로도
위의 사이트가 운영이 되나요?
당연히 안될것으로 보이긴하는데..
한달 서버운영으로 얼마정도의 예산을 잡아야할까요?
동시방문자에 의한 사이트 다운이나, 느려지는 현상없이 원활하게 운영하려고 하는 조건으로요.
서버관련 종사자분들의 답변 부탁합니다.
[답변]
웹사이트를 운영하는 입장에서 서비스의 품질에 직접적인 영향을 주는 네트워크 운영은 민감한 부분입니다.
특히 커뮤니티 기반의 웹사이트라면 속도저하는 치명적일수도 있습니다.
다양한 요인을 분석해 보는것이 좋으리라 생각이 됩니다.
흔히 서버 및 네트워크상에서 하는 실수중 하나가 서버나 네트워크를 증설하면 모든 문제가 해결된다고 생각하는 점입니다. 웹사이트의 속도저하를 만들어 내는 요인은 많습니다. 그 중 하나 혹은 복합적인 이유에서 속도저하 및 사이트 다운이 나타나게 됩니다.
1. DB 연결의 문제
DB에 접속을 하는 과정에서 장애를 받을수 있습니다. 주로 Web서버와 DB서버가 분리되어 있는 경우에 많이 발생을 합니다. 또한 DB를 연결하고 사용한 후에 해당 자원을 반환하지 않아서 DB세션이 남아있는 상황에서도 흔히 발생할수가 있습니다. 이 경우에는 심각할 경우 소스 코드를 대량 수정해야 할수도 있습니다.
2. 네트워크 구성
DB와 Web서버의 네트워크가 다르게 구성되어있거나, 방화벽 및 스위치 장비의 셋팅이 잘못되어서 발생할수도 있습니다. 트레픽이나 동시접속자를 기준으로 실재적인 네트워크 구성을 다시 설계하는 방법으로 해결할 수가 있습니다. 서버호스팅을 사용하거나 일반 호스팅을 사용할 경우 호스팅 대역폭 제한으로 인해서 발생할 수도 있습니다.
이 경우에는 단독회선으로 전환하거나 더 나은 상품으로 해결할 수 있습니다.
3. 개발방법론
가장 많이 발생하는 문제입니다.
표준화 되지 않은 개발방법론으로 개발된 사이트의 경우 성능이 떨어질수 밖에 없습니다. 일반 웹사이트를 제작하는 개발방법론을 포털사이트에 적용한다고 가정해 본다면, 당연히 동시접속자나 서비스의 품질이 떨어질수 밖에 없습니다. 주로 비용 절약을 위해서 비전문업체를 통해 제작하거나, 솔루션으로 개발한 사이트에서 흔히 발생할수 있는 리스크 요인입니다. 만약 위의 상황이라면, 상황에 맞추어서 재개발을 해야하는 최악의 상황이 올수도 있습니다.
특히 커뮤니티 사이트의 경우 소스코드를 최대한 가볍게 만들수 있도록 센스있게 개발방법론을 선택해서 불필요한 코드를 최소화한 개발을 진행하는것이 좋습니다.
4. 메인 페이지의 용량
메인 페이지를 사용자들이 가장 많이 접속을 합니다. 메인 페이지를 로딩하기 위한 용량을 측정해 본다면 문제점을 어렵지 않게 진단할수 있습니다. 플래쉬에서 무한루프를 돌아서 리소스를 대량소모할수도 있고, 드림위버 등의 툴로 제작되어 필요없는 소스코드로 인해 용량이 커질수도 있습니다. 또한 메인페이지에서 DB연결을 무리하게 시도하도 접속 지연이 될수도 있습니다.
5. 로드벨런싱/클라우드호스팅/가상호스팅 도입의 필요성
사용자 수가 많아서 하드웨어 장비가 버티지 못하는 상황이라면, 분산기술의 하나인 로드벨런싱을 도입해야 할수도 있습니다. 서버한대당 버틸수 있는 동시접속자는 한정적입니다. 이 이상의 접속자가 몰린다면 당연히 늦어질수 밖에 없겠죠. 이 경우에는 하드웨어에 대한 투자가 정답입니다.
일정하게 접속을 유지하는것이 아니라 특정기간에만 접속이 많다면 클라우드 호스팅 도입을 검토해볼수도 있고, 비용이 부담이 된다면 서버호스팅보다 저렴한 가상호스팅의 방법이 있습니다.
6. DB정규화
DB를 설계할때 정규화(최적화)를 하지 않은 경우입니다. DB의 효율성 차이가 DB용량이 늘어날수록 심각해집니다. 최악의 경우 기존 DB를 포기하고, 재 설계를 통해서 구축을 해야할 수도 있습니다.
[IT컨설턴트의 생각]
웹사이트는 몇명의 유저가 접속하느냐 하는 부분 또한 중요하지만, 얼마나 집중되어서 접속하느냐, 컨텐츠에 대한 집중빈도가 얼마나 높은가. 얼마나 용량이 큰 컨텐츠를 요청하느냐 등의 많은 요인에 대한 분석이 우선이라 생각됩니다.
예를들어 10만명의 유저들이 접속하더라도 개인당 100byte의 용량의 페이지를 1page씩만 보고 나가면서, 24시간을 기준으로 분산이 되며 1초간만 접속을 한다면, 100,000*0.1M*1에서 대략적으로 10Gbyte의 총용량을 소모하게 됩니다. 24시간을 초로 변환하면 24*60분*60초에서 대략 86400초의 시간에 나눠서 접속을 한다면
거의 1초에 1~2명의 유저들에게 서비스를 제공할수가 있기때문에 네트워크상의 큰 문제가 없습니다.
반면에 100명의 유저들이 접속해서 10Mbyte의 용량의 페이지를 10page씩 보고가면서, 12시에 집중된다고 하면, 어떤 일이 벌어질까요? 트레픽을 기준으로 계산해 보더라도 엄청난 비용을 소모하거나 사이트에서는 현저한 접속저하 현상이 나타나게 됩니다. 커뮤니티 사이트는 돌발적으로 트레픽이 집중되는 경우가 많습니다. 베스트글이나 이슈글을 중심으로 배포가 빠르기 때문에 이런 경우를 대비하기 위해서 전문적인 컨설팅을 받아보시는것을 추천드립니다.
서버 및 네트워크 증설로 문제를 해결하는것은 매월지속적인 비용을 소모하는 방법이라 비즈니스의 관점에서는 부정적입니다. 1회성으로 충분히 위기사항에 대한 대비를 할수 있도록 최선을 다해서 위의 위험포인트를 제거한 이후 서버증설을 해도 늦지 않습니다.
'ToTb Story > ToTb 네이버지식 Story' 카테고리의 다른 글
웹사이트 제작비용을 알고 싶어요 (0) | 2014.08.14 |
---|---|
솔루션 개발 (0) | 2014.07.22 |
홈페이지 제작 과정이요. (0) | 2014.07.22 |
제가 사업을 하나 하고있습니다. 저는 혼자이고 주변에 같이 할만한 사람이 없습니다 (0) | 2014.07.22 |
의류브랜드 고객관리 프로그램에 대해서 질문합니다. (0) | 2014.07.17 |
쇼핑몰 프로그램 유지 보수업체중 python 언어다루는 업체가 어디있나요 (0) | 2014.07.03 |
재고 관리 문의 (0) | 2014.06.26 |
웹 에이젼시 의뢰관련 문의드립니다 (0) | 2014.06.26 |
현재 오픈마켓 사이트를 구상중에 있습니다 (0) | 2014.06.26 |
모바일앱 모바일웹 장단점 (0) | 2014.06.26 |
최근댓글