안녕하세요. 이번에 AWS 를 사용해서 서비스를 진행 해보려고 하는 중…

안녕하세요. 이번에 AWS 를 사용해서 서비스를 진행 해보려고 하는 중 막히는 부분이 있어서 문의글 남깁니다.

전세계 서비스를 런칭 준비 중이다 보니, 국내 호스팅의 한계가 보이더라구요. 구현 하려는 서비스는 APP 으로 내려주는 API 서버 + 동영상/이미지 업로드 입니다.

AWS 구글링 등을 통해서 나온 서버 인프라는 사진과 같습니다.

이중 제가 궁금한 것이, EC2 에 m3.large 를 사용 했을때, 어느 정도의 트래픽(동영상/이미지 업로드 포함) 을 버틸수 있을지 예상을 못하겠습니다.

예를 들어 초당 10000만 DB 쿼리로 API(Json데이터)를 뿌려 주고, 하루에 1만 유저가 20MB 씩 동영상/이미지 업로드를 시도 할때 서버가 무리 없이 잘 돌아 가는지를 대략적으로라도 알고 싶네요.

위의 서비스를 하기 위해서 AWS 에 더 필요하거나 필요 없는 기능도 알려 주시면 감사하겠습니다.

안녕하세요. 이번에 AWS 를 사용해서 서비스를 진행 해보려고 하는 중 막히는 부분이 있어서 문의글 남깁니다.

전세계 서비스를 런칭 준비 중이다 보니, 국내 호스팅의 한계가 보이더라구요. 구현 하려는 서비스는 APP 으로 내려주는 API 서버 + 동영상/이미지 업로드 입니다.

AWS 구글링 등을 통해서 나온 서버 인프라는 사진과 같습니다.

이중 제가 궁금한 것이, EC2 에 m3.large 를 사용 했을때, 어느 정도의 트래픽(동영상/이미지 업로드 포함) 을 버틸수 있을지 예상을 못하겠습니다.

예를 들어 초당 10000만 DB 쿼리로 API(Json데이터)를 뿌려 주고, 하루에 1만 유저가 20MB 씩 동영상/이미지 업로드를 시도 할때 서버가 무리 없이 잘 돌아 가는지를 대략적으로라도 알고 싶네요. 

위의 서비스를 하기 위해서 AWS 에 더 필요하거나 필요 없는 기능도 알려 주시면 감사하겠습니다.

11 thoughts on “안녕하세요. 이번에 AWS 를 사용해서 서비스를 진행 해보려고 하는 중…

  1. 초당 1억건의 쿼리요? 최대치 인가요?

    동영상 관리를 위해서 Amazon Elastic Transcoder, API를 위해서는 DynamoDB, Redis 또는 Memcached를 위한 elastic cache 를 권해봅니다.

  2. 우선 각서버별(ec2,rds,elastic cache등) 성능 테스트를 먼저 해보는것도 좋을 듯 합니다
    1대 성능 수치를 뽑으면 예상 동접에 따라 autoscaling 및 확장 플랜을 가지면 좋겠네요~ 빠른 처리속도를 위해 부하가 예상되는 부분은 위에분께서 말씀해 주신 elastic cache나 dynamo db로 변경도 좋을 듯 하네요
    성능테스트는 봇제작도 있고 ngrinder로도 수행 할 수 있겠네요

  3. 초당 1억쿼리를 단일 DB로 처리할 수 있는 시스템은 전세계 어디에도 없을듯 싶습니다. RDS단에 대한 스케일아웃 전략을 고려해보셔야 할듯 한데요.

  4. 초당 1억쿼리라면 서버쪽 부하도 심하겠지만,,, 네트웍 트래픽도 장난아닙니다. 1쿼리당 트래픽이 1KB 발생한다고 가정하면 초당 100GB 다운로드 트래픽이 발생합니다. 기바비트 랜카드를 장착한 장비가 초당 처리할 수 있는 트래픽은 100MB 입니다. 이것만 계산해도 EC2 1000대가 필요합니다. 초당 쿼리수를 너무 과하게 잡은게 아닌가 싶네요.

  5. 조철현, 박형범, Sang Taeg Shim 글을 잘못 적었습니다. ㅠ 1만 쿼리 입니다.

    조철현 님의 조언 대로, 현재 Elastic cache 를 연구 중입니다. 하지만 동영상 스트리밍은 서비스할 계획이 없고, 업로드, 다운로드 (파일) 형식으로 서비스할 계획인데, 거기에서도 Transcoder 가 필요 한지 궁금하네요..

  6. 업로드 자체를 S3로 다이렉트로 하심이 좋을거 같아보이네요. 각 리전별로 S3를 올리고 관리하는 기능이 필요할거 같습니다

  7. 한정수 답변 감사합니다.

    현재 위의 인프라는 모두 Tokyo 기반으로 구성할 계획이었습니다.
    계획은 EC2(PHP) 에 HTTP 통신(POST)으로 들어오는 File Data를 S3로 FTP UPLOAD 하여서 서비스하려고 했습니다.

    말씀하신 S3 를 리전별로 관리하면 위의 그림에서 S3 가 3개(예를들어, Tokyo, CA, 유렵) 로 구성하고, EC2 에서 IP 기반 체킹후에 매핑되는 S3 로 FTP 업로드를 구현 하는것을 추천 하는게 맞나요?
    그리고 S3 에서 다이렉트로 업로드하는게 좋다고 하셨는데, 그부분은 제가 스킬이 부족해서 조금더 서칭, 연구를 해봐야 할 것 같습니다. ㅠ
    힌트를 주실 수 있나요?

Comments are closed.