로드벨런서를 이용한 부하분산서버 질문입니다.

조회수 2313회

안녕하세요. 네티, 노드제이에스 등등 많은데 저는 Tomcat만 열심히 쓰고 있는데요. Tomcat 서버를 여러개를 둬서 로드밸런서로 부하분산하는 방식을 접했습니다. 보통 톰켓 서버 인스턴스 1개가 초당 TPS 300~350개를 처리한다고 하는데요. 대략 딜레이 3초라고 가정하고 서버 인스턴스 1개당 트랜잭션 1000개를 동시에 처리한다고 치면 동시접속자 3천명이 들어왔을때 서버 인스턴스 3개가 필요할 것 같습니다. 이렇게 로드밸런싱만 해주고 서버 구현은 인터넷에 떠도는 서블릿 예제 수준으로 짜면 상용화가 가능할까요? 그리고 보통 동시접속 3천명이면 앱 다운로드수로 쳤을때 몇만 정도 나오나요? 감사합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 100만은 넘어야 될거 같은데요? 아닌가... Manki Kim 2016.5.30 17:02

1 답변

  • 다운로드를 동시접속으로 변환하는데는 너무 다양한 변수가 있습니다. 예를들어서 다음 그림을 한 번 보세요.

    이미지

    제가 출시했던 게임의 사용자 데이터인데요. 보라색은 다운로드, 초록색은 MAU(월간 사용자), 파란색은 DAU(일간 사용자)입니다. 다운로드가 아무리 올라도 사용자들이 계속 사용하지 않으면 다운로드수와 사용하는 실제 접속하는 사용자 사이에 큰 차이가 있습니다. 카카오톡같이 매일 사용하는 앱인지, 아니면 은행 앱 같이 가끔 한 번 켜는 앱인지에 따라서 앱 다운로드 수를 서버 부하로 연결해서 설명할 수 있습니다. 이외에도 너무나 많은 가정이 필요합니다. 그리고 tcp로 접속하는건지, 웹서버를 말하는지에 따라서도 다르구요. 한마디로 가정이 의미 없어요.

    우선 최선을 다하시고 사용자가 폭발적으로 늘어나서 서버가 버벅대기 시작하면 그때 다시 대안을 찾는게 좋을것 같습니다. 저도 폭발하는 트래픽을 개발자로서 경험해 본건 아니지만, 옆에서 본 바로는 터지기 시작하면 어디서 터질지 알 수 없기 때문에 다 대비할 수는 없다고 하더군요. 터지기 시작하면 DB가 못버틸수도 있고 서버가 못버틸수도 있습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)