트래픽
트래픽이란 서버를 통해 최종 사용자에게 전달된 데이터의 양을 말합니다.
단위 일반적으로 바이트단위로 (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 앞에 어떤 서비스를 둘지에 따라서 병목 포인트를 재확인 해보아야 합니다.
'IT > 네트워크' 카테고리의 다른 글
[네트워크] VXLAN이란? (feat. Network Overlay) (0) | 2021.10.18 |
---|---|
[네트워크] CIDR 범위 쉽게 계산하는 방법 (7) | 2021.10.08 |
x509인증서란? (openssl 을 이용한 인증서 crt 생성) (0) | 2021.06.16 |
[네트워크]웹브라우저에서 URL을 입력할때 어떤일이 일어날까? (0) | 2021.06.15 |
포트(Port)의 종류(잘알려진포트/등록된포트/동적포트) (0) | 2021.06.09 |