[네트워크] 트래픽이란? 대역폭이란?
IT/네트워크

[네트워크] 트래픽이란? 대역폭이란?

반응형

트래픽

  • 트래픽이란 서버를 통해 최종 사용자에게 전달된 데이터의 양을 말합니다.

  • 단위 일반적으로 바이트단위로 (KBytes, MegaBytes, GigaBytes 등등) 표현합니다.

    트래픽 = 용량 * 사용자 수 * 개수 
    ex) 4GB 영화 * 10명 * 10개 = 400GB

네트워크 대역폭

  • 대역폭은 초당 처리할 수 있는 데이터의 양 입니다. 트래픽과 다르게 시간 개념이 추가되었죠.
  • 예를들면 1차선 도로보다 4차선 도로에서 더 많은 차가 다닐 수 있겠죠. 마찬가지로 네트워크 대역폭도 데이터를 얼마나 많이 수용할 수 있는지 판단하는 기준이 됩니다.
  • 대역폭 단위는 bps로 bit per second 즉, 초당 bit단위의 데이터 처리량을 말합니다.
대역폭 = (용량 * 사용자수 * 8) / 처리 시간 = bps 
참고로 8을 곱하는 이유는 Bytes에서 bit로 변환하기 위함입니다.

예상 트래픽과 대역폭 계산하기

AWS EC2 스펙을 산정할때 해당 서비스가 얼만큼의 대역폭을 필요로하는지, 내가 선택한 Instance Type은 해당 트래픽을 감당할 수 있는지 확인이 필요 합니다.따라서 예상되는 대역폭을 검토 해보아야 합니다.

예를 들어볼까요
서울대 수강신청 기간에는 얼마나 많은 트래픽이 발생할 까요?

서울대 재적학생수를 검색해보니 약 2만명이 나옵니다.

서울대 수강신청의 메인 페이지 기준으로 디버깅해보면 총 3.7MB의 네트워크 전송이 이루어진 것을 확인할 수 있습니다. 계산하기 쉽게 4MB로 하겠습니다.

하루 동안의 트래픽을 계산해보기위해 아래와 같이 가정을 해보겠습니다.
하루동안 재적학생들이 수강신청홈페이지를 한번씩만 접속을 한다라고 가정하 하면 계산식은 아래와 같습니다.

20,000 * 4MB * 1 = 80,000MB = 80GB

총 80GB의 트래픽이 발생하게되는 되는 것이겠죠

대역폭을 계산하려면 시간 조건이 필요합니다. 만약 수강신청이 10분내에 완료된다 라고 가정을 해보면 계산식은 아래와 같습니다.

(20,000 * 4MB * 8)/ 10 * 60s = 1066Mbps = 1.066Gbps

약 1Gbps의 대역폭이 필요한 하다는 것입니다.

그러면 AWS의 Instnace 들은 얼만큼의 대역폭을 지원할까요? 확인해보겠습니다.

가장 많이 사용하는 m5, c5, r5 타입만 확인해보면 아래와 같이 최대 10Gbps까지의 네트워크 성능을 갖고 있습니다.

이 중 어떤 타입을로 사용하던 서울대 수강신청 기간동안의 트래픽을 감당할 수 있겠죠
물론 EC2 instnace 앞에 어떤 서비스를 둘지에 따라서 병목 포인트를 재확인 해보아야 합니다.

반응형