대역폭, bandwidth란 ?

GonnabeAlright·2022년 1월 2일
2
post-thumbnail

IT 시스템 설계 시 용량 산정을 할 때 고려해야 할 대표적인 지표는 다음과 같습니다.

  • IT 시스템을 통해 동시에 얼마나 많은 사용자를 처리할 수 있을지 - 동시 사용자 수
  • IT 시스템이 사용자 1명당 보통 얼마의 리소스를 소비하는지 - 처리량
  • IT 시스템이 사용자에게 얼마나 빠른 시간 내에 응답해야 하는지 - 성능
  • IT 시스템이 단위 시간 내에 얼마나 많은 작업을 해야 하는지 - TPS(Transaction Per Second)
  • 기타 등등 (기능성, 신뢰성, 효율성 ...)

대역폭(bandwidth)"일정한 시간 내에 데이터 연결을 통과할 수 있는 정보량의 척도"이다.

컴퓨팅에서 사용 가능하거나 소비된 정보 용적의 비트레이트이다. 일반적으로 초당 여러 비트로 표현된다. 메가 비트(Mbps) 또는 기가비트 급(Gbps) 등의 비트 레이트(bps) 배수로 측정된다.

대역폭의 특징은 네트워크 대역폭(network bandwidth), 데이터 대역폭(data bandwidth), 디지털 대역폭(digital bandwidth)이 있다.

네트워크 출력(Throughput) vs 대역폭(bandwidth)

네트워크 출력(Throughput)

네트워크 출력(혹은 출력률, 쓰루 풋)이란 얼마나 많은 데이터가 단위 시간 내 목적지에 전달될 수 있는지에 대한 지표입니다.

얼마의 데이터가 1초 동안 전달되는지를 기본적인 출력의 단위로 사용하는데 이때 bps(bits per second) 혹은 data packets per second로 표기합니다. 큰 출력을 가진 시스템은 bps가 아닌 Mbps, Gbps를 사용합니다.

예를 들어 100bytes의 데이터를 전달하는데 1초가 걸렸다면 이 시스템의 네트워크 출력은 800bps입니다.

100bytes/seond = 100 * 8 bits/second = 800 bps(bits per second)

네트워크 출력은 시간에 따라 작아지기도 커질 수도 있는 가변적인 값입니다. 따라서 시스템의 출력률을 명시할 땐 평균 출력(Average Throughput)값을 사용합니다.

사내 IT 시스템의 네트워크 레이어에서 특별한 이유 없이 출력이 일정하지 않다면, 네트워크 구간 중간에 패킷 손실이 일어났거나, 출력을 담당하는 네트워크 컴포넌트에서 문제가 발생했을 것이고, 이를 빨리 원상 조치해야 하기 때문에, 네트워크 출력을 지속적으로 모니터링하는 것도 관리자의 역할입니다. 좋은 모니터링 도구들이 이를 실시간 모니터링하고 대시보드 그래프를 통해 모니터링 하면서 threshold 값의 범위를 넘어가는 경우 알람을 발생하는 방식을 많이 사용합니다.

만약 사용자가 급증하거나 다른 이유로 평균 출력값이 계속 늘어난다면, 네트워크 등의 시스템 증설을 고려해야 합니다. 바꿔 말해서 급감, 급증 현상에 대해서 지속적인 관찰과 응대가 필요합니다.

네트워크 대역폭(Bandwidth)

네트워크 대역폭은 네트워크가 단위 시간 내 전달할 수 있는 최대 크기의 전달 용량을 의미합니다. 대역폭이 높을수록 많은 데이터가 네트워크에 실려서 전달하고 전달받을 수 있습니다. 대역폭 자체는 전달 속도와는 관계가 없으며 오히려 용량(capacity)과 관계가 있습니다.

대역폭은 결국 단위 시간 내 전달할 수 있는 데이터의 양이므로, 서비스의 크기에 따라 아래의 단위를 사용합니다. (이 단위는 네트워크 출력을 표현할 때도 동일하게 사용합니다.)

  • bits per second (bps)
  • megabits per second (Mbps)
  • gigabits per second (Gbps)

네트워크 출력과 네트워크 대역폭의 상관관계

여러분의 IT 시스템이 짧은 시간에 많은 데이터를 전달해야 한다면, 출력만 높아서도 안되고 대역폭만 높아서도 안됩니다. 이 둘은 상관관계라는 의미입니다. 단위 시간 내 많은 양의 데이터를 한 번에 보내기 위한 출력도 높이고, 이를 받아서 전달하는 파이프 역할을 하는 대역폭도 커야 합니다.

IT 시스템에서 시간의 흐름에 따라 전달하는 데이터의 양이 작아질 수도, 커질 수도 있습니다. 동일한 사용자의 요청이 지속된다고 하더라도, 예상하지 못한 변화가 잦은 이유는 특히 외부 인터넷을 사용하는 네트워크 상의 변수가 많기 때문입니다.

대표적인 요인

  • 네트워크 지연(network latency): 예상하지 못한 시간(time)이 데이터 전달에 소요되는 현상.
  • 네트워크 혼잡(network congestion): 전달해야 하는 데이터의 양이 네트워크에 몰리는 현상
  • 패킷 손실(packet loss): 예상하지 못한 패킷(packet)이 전달하는 동안 손실되는 현상.

"출력이 높고 대역폭이 작다면, 네트워크 출구에서 대기하는 데이터가 많을 것이고, 이는 시스템의 성능(performance)에 안 좋은 영향을 미치게 됩니다. 출력이 낮은데 대역폭은 크다면, 대역폭과 비용의 낭비가 예상됩니다."

0개의 댓글