트래픽(traffic)이란 컴퓨터 네트워크에서 전송되는 데이터의 양을 나타내는 용어입니다.
이것은 사용자가 웹 페이지를 방문하거나 파일을 업로드/다운로드하거나 어떤 서비스를 이용할 때 발생하는 데이터 전송량을 포함합니다.
웹사이트에 트래픽이 많다는 것은 사용자 접속이 많아서 전송하는 데이터의 양이 많다는 것을 뜻합니다
트래픽 모니터링 하는 법
그렇다면 트래픽은 어떻게 모니터링 할 수 있을까요?
AWS를 기준으로 트래픽을 모니터링 하는 방법은 다음과 같습니다.
CloudWatch Metric (지표)에서 EC2 지표 → 전체 인스턴스 → NetworkIn/NetworkOut 선택을 하시면 아래와 같은 화면을 확인 할 수 있습니다.
NetworkIn:
- “NetworkIn”은 인스턴스로 들어온 데이터의 양입니다. 이는 주로 외부에서 인스턴스로 데이터를 전송할 때 사용됩니다.
NetworkOut:
- “NetworkOut”은 인스턴스에서 외부로 나가는 데이터의 양입니다. 이는 주로 인스턴스에서 외부로 데이터를 업로드할 때 사용됩니다.
트래픽 양의 한계를 결정하는 요소
서버에서 제공 가능한 트래픽 양의 한계는 여러가지 요소가 결정하지만 2가지 요소만 뽑자면
네트워크 대역폭(Bandwidth)과 서버 처리능력(Throughput 또는 Capacity) 입니다.
네트워크 대역폭 (Bandwidth):
네트워크 대역폭은 서버와 클라이언트 간에 주고받을 수 있는 데이터 양을 나타냅니다.
대역폭이 클수록 더 많은 데이터를 동시에 전송할 수 있습니다.
네트워크 대역폭은 주로 서버의 호스팅 환경 또는 인터넷 서비스 제공자(ISP)에 따라 결정됩니다.
대역폭이 클수록 동시에 처리할 수 있는 요청과 응답의 양이 늘어납니다.
서버 처리능력 (Throughput 또는 Capacity):
서버 처리능력은 서버가 단위 시간당 얼마나 많은 요청을 처리할 수 있는지를 나타냅니다.
이는 서버의 하드웨어 성능, 프로세서 속도, 메모리 크기, 디스크 속도 등에 의해 영향을 받습니다.
높은 처리능력을 가진 서버는 많은 요청을 동시에 처리할 수 있어 더 많은 트래픽을 수용할 수 있습니다.
이러한 요소들이 종합되어 서버가 제공 가능한 트래픽 양을 예측 할 수 있습니다.
트래픽 양이 서버에서 처리하는 양을 초과한다면?
만일 트래픽 양이 서버에서 처리하는 양을 초과한다면 어떻게 될까요?
예상 하신 것 처럼 서버에 과부하가 걸려 사용자 요청에 대한 응답 시간이 느려질 수 있다고 합니다.
그리고 극단적인 경우에는 서버가 과부화되어 다운까지 될 수 있다고 합니다.
높은 트래픽을 완화하는 방법은?
차후에 다루겠지만 높은 트래픽의 영향을 완화하려면 로드 밸런싱, 콘텐츠 캐싱, 서버 확장과 같은 전략을 구현하는 것이 중요합니다.
로드 밸런싱은 들어오는 트래픽을 여러 서버에 분산시키는 반면, 정적 콘텐츠를 캐싱하면 서버의 로드를 줄일 수 있습니다.
또한 수요에 따라 동적 확장이 가능한 클라우드 기반 솔루션을 채택하면 트래픽 급증을 처리하는 데 더 큰 유연성을 제공할 수 있습니다.