RTT와 ping, TTFB와의 비교
왕복 시간
왕복 시간(RTT, Round Trip Time)
- 네트워크 요청이 시작점에서 목적지로 갔다가 돌아오는 데 걸리는 시간(ms)
- 로컬 네트워크 또는 더 큰 인터넷의 연결 상태를 결정하는 데 중요한 메트릭
- 네트워크 관리자가 네트워크 연결의 속도와 안정성을 진단하는 데 사용
- RTT를 줄이는 것이 CDN의 주요 목표
RTT 계산
- 데이터 패킷이 대상으로 전송되는 데 걸리는 시간
- 해당 패킷에 대한 승인이 원본에서 다시 수신되는 데 걸리는 시간
- 위 두 시간을 더한 것
최적의 왕복 시간
- 100ms 미만의 RTT가 적절
- 100~200ms인 경우 성능은 영향을 받을 가능성이 높음
- 200ms 이상이면 성능이 저하됨
- 375ms를 초과하면 일반적으로 연결이 종료됨
실습
ping
명령어
- 네트워크와 서버 간의 RTT 확인
1
ping example.com
1
2
3
4
5
6
7
8
9
PING example.com (216.58.194.174): 56 data bytes
64 bytes from 216.58.194.174: icmp_seq=0 ttl=55 time=25.050 ms
64 bytes from 216.58.194.174: icmp_seq=1 ttl=55 time=23.781 ms
64 bytes from 216.58.194.174: icmp_seq=2 ttl=55 time=24.287 ms
64 bytes from 216.58.194.174: icmp_seq=3 ttl=55 time=34.904 ms
64 bytes from 216.58.194.174: icmp_seq=4 ttl=55 time=26.119 ms
--- google.com ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 23.781/26.828/34.904/4.114 ms
- 평균 왕복 시간이 26.828ms
RTT에 영향을 미치는 요인
- 전송 매체의 특성
- 연결 방식이 연결 이동 속도에 영향
- 광섬유를 통한 연결이 구리를 통한 연결보다 일반적으로 더 빠르게 데이터 전달
- 무선 주파수를 통한 연결은 위성 통신과 다르게 동작
- 근거리 통신망(LAN) 트래픽
- 근거리 통신망의 트래픽 양 때문에 더 규모가 큰 인터넷에 도달하기 전에 연결에 병목 현상이 생길 수 있음
- 사무실에서 여러 직원이 한 번에 스트리밍 비디오 서비스에 액세스하면 다른 애플리케이션의 RTT도 영향을 받을 수 있음
- 서버 응답 시간
- 서버가 요청을 처리하고 응답하는 데 걸리는 시간 때문에 네트워크 대기 시간에 병목 현상이 생길 수 있음
- 노드 수 및 정체
- 연결이 거치는 노드 수가 많을수록 연결 속도가 느려짐
- 네트워크 홉 수가 증가하면 RTT도 증가
- 물리적 거리
- 두 통신 엔드포인트를 서로 더 가깝게 이동해 RTT를 줄일 수 있음
네트워크 노드
- 서버 또는 라우터와 같이 데이터 패킷을 전송, 수신 또는 전달할 수 있는 네트워크 연결 지점
네트워크 홉
데이터 패킷이 소스에서 대상으로 이동할 때 한 네트워크 노드에서 다른 네트워크 노드로 이동하는 프로세스
RTT를 줄이는 방법
CDN은 캐싱, 로드 분산 및 확장성을 통해 RTT를 줄임
1 캐싱
- 지리적으로 멀리 떨어져 있는 사용자가 콘텐츠를 처음 요청
- 애플리케이션 서버가 원격 사용자에게 응답 전송
- CDN에 응답 복사본 전송
- 다음에 이 사용자(또는 해당 위치의 다른 사용자)가 동일한 요청
- CDN에서 직접 응답 전송
2 로드 분산
- 사용자 요청을 효율적이고 균형 잡힌 방식으로 서버 네트워크 전체에 분산
- 요청의 오리진과 CDN 서버 인프라의 현재 로드를 기반으로 요청에 가장 적합한 서버를 결정
3 확장성
- 클라우드 기반 서비스인 CDN은 확장성이 뛰어나며 많은 수의 사용자 요청 처리 가능
TTFB와의 차이
TTFB(Time to First Byte)
- 초기 요청부터 응답의 첫 번째 바이트까지의 시간
RTT
- 전체 왕복 여정을 설명
참고
[왕복 시간이란? | RTT의 정의](https://www.cloudflare.com/ko-kr/learning/cdn/glossary/round-trip-time-rtt/) |