데이터베이스를 다루다보면 아래와 같이 Mbps 와 같은 것을 본적이 있을 것이다.
이때 Mbps가 무엇을 의미하는 것인지 알아본다.
네트워크 출력과 대역폭의 차이
BPS 란?
먼저 BPS란 Bits Per Second의 약자로 초당 전송되는 비트 수를 의미한다.
그럼 위에서 보았던 네트워크: 4,750Mbps가 의미하는 것은 무엇일까?
네트워크 출력과 대역폭
네트워크: 4,750Mbps를 이해하기 위해서는 네트워크 출력과 대역폭을 이해하면 된다.
네트워크 출력(또는 출력률, 쓰루풋)은 얼마나 많은 데이터가 단위 시간 내 목적지에 전달될 수 있는지에 대한 지표로 사용된다.
쉽게 말해 얼마의 데이터가 1초 동안 전달되는지를 나타내는 것이며, 기본적인 출력률의 단위로 bps를 사용한다.
위에서 본 Mbps의 경우 더 큰 출력을 나타내는 것이며 bps, Mbps, Gbps를 사용한다.
- bits per second (bps)
- megabits per second (Mbps)
- gigabits per second (Gbps)
좀 더 쉽게 이해하기 위해 다음 예를 보자.
100bytes의 데이터를 전달하는 데 1초가 걸렸다.
이 시스템의 네트워크 출력은?
100 bytes/second = 100 * 8bits/second = 800 bps
위에 계산으로 정답은 800bps가 된다. 보통 출력은 시간에 따라 변동이 있을 수 있는 가변 값이기 때문에 출력률을 명시 할 땐 평균 출력 값을 사용하게 된다.
bps의 기준은 bit이기 때문에 bytes를 8bits 로 변환한 것이다.
단위는 아래를 참고하자.
bit = 1/8 byte
byte = 1 byte
KB = 1,000 byt
다음으로는 대역폭에 대해서 알아본다.
네트워크 대역폭(Bandwidth)은 네트워크가 단위 시간 내 전달할 수 있는 최대 크기의 전달 용량을 의미한다.
즉, 대역폭이 높을수록 많은 데이터가 네트워크로 전송이 가능하게 되서 대역폭이 높다면 동일 시간 내에 더 많은 데이터 전송이 가능하다.
이때, 대역폭 자체는 전달 속도와는 상관이 없으며 용량(capacity)과 관계가 있다.
대역폭도 결국 단위 시간 내 전달할 수 있는 데이터의 양을 나타내므로 네트워크 출력과 동일하게 아래 단위를 사용한다.
- bits per second (bps)
- megabits per second (Mbps)
- gigabits per second (Gbps)
네트워크 출력과 대역폭의 상관관계
출력과 대역폭에 대해서 각각 알아보았으니 마지막으로 둘의 상관관계에 대해서 알아본다.
먼저 출력과 대역폭 둘 다 높다면 성능이 좋을 것이라는 것은 명백히 알 수 있다.
하지만 출력과 대역폭 둘 다 높이기 위해서는 그만큼 많은 비용이 발생할 수 있기 때문에 둘의 상관관계를 이해하고 적절한 값을 설정해야 된다.
먼저 출력만 높고 대역폭이 낮다면?
이런 경우에는 대역폭이 낮기 때문에 아무리 출력이 높더라도 대기하는 데이터가 많을 것이다.
반대로 대역폭은 높지만 출력이 낮게 되면 대역폭에 대한 유지 비용에서 낭비가 있을 수 있다.
아래 그림을 보면 쉽게 이해가 가능하다. 파랑색 원통을 대역폭이라고 생각하고 빨간색 값이 출력이라고 했을 때 가장 이상적인 것은 출력과 대역폭이 어느 하나에 치우치지 않고 적절한 값으로 설정되면 가장 이상적인 속도를 낼 수 있을 것이다.
'개발지식' 카테고리의 다른 글
동시성 이슈를 해결하기 위한 Redisson 분산락 알아보기(2) - 재고 테스트 (0) | 2023.04.30 |
---|---|
텔레그램 봇을 이용한 알림 서비스 만들기(1) (1) | 2023.04.09 |
동시성 이슈를 해결하기 위한 Redisson 분산락 알아보기(1) (0) | 2023.03.27 |
Google - Natural Language API + AutoML (0) | 2023.03.23 |
imageMagick 을 활용한 이미지 확장자 및 사이즈 변환 (0) | 2023.01.13 |
댓글