페이지 용량·로딩 시간 계산기 쉽게 이해하기 — 개념과 원리
이 계산기는 웹 페이지 로딩 시간을 두 가지로 대략 추정합니다. 내려받아야 할 바이트 수와, 앞 단계가 끝나야 다음 단계가 시작되는 순차 왕복 횟수입니다. 페이지 용량 예산을 정하거나, 빠른 회선인데도 느리게 느껴지는 이유를 설명하거나, 파일을 줄이는 효과와 왕복을 줄이는 효과를 비교할 때 유용합니다.
계산 방법
- 전송 시간(초) = 페이지 용량(KB) × (1 − 압축 절감률 ÷ 100) × 8 ÷ 1000 ÷ 대역폭(Mbps)입니다. 8을 곱해 바이트를 비트로, 1000으로 나눠 킬로비트를 메가비트로 바꿉니다.
- 지연 시간(초) = 순차 왕복 횟수 × RTT(ms) ÷ 1000입니다.
- 예상 로딩 시간 = 전송 시간 + 지연 시간입니다.
여기서 KB는 1000바이트, Mbps는 초당 100만 비트로, 통신사가 쓰는 단위와 같습니다.
원리
모든 다운로드에는 두 가지 비용이 듭니다. 대역폭은 데이터가 흐르기 시작한 뒤의 속도를 정하므로 시간은 용량에 비례합니다. 지연(레이턴시)은 요청이 갔다가 응답이 돌아오는 한 번의 왕복 시간인데, DNS 조회, TCP 연결, TLS 핸드셰이크, HTML 수신, 렌더링을 막는 CSS와 자바스크립트 요청처럼 앞 단계가 끝나야 시작할 수 있는 과정이 있습니다. 이 대기 시간은 회선이 아무리 빨라도 그대로 쌓입니다. 그래서 고속 회선에서는 지연이 더 큰 비중을 차지하는 경우가 많고, 사전 연결, HTTP/2·HTTP/3, 핵심 CSS 인라인, 사용자와 가까운 CDN처럼 왕복을 줄이는 방법이 효과적입니다.
예제 풀이
- 입력값은 2500KB, 10Mbps, RTT 80ms, 왕복 6회, 압축 절감 0%입니다.
- 보낼 비트는 2500 × 8 = 20,000킬로비트, 즉 20메가비트입니다.
- 전송 시간은 20 ÷ 10 = 2초입니다.
- 지연 시간은 6 × 80 ÷ 1000 = 0.48초입니다.
- 합계는 2 + 0.48 = 2.48초입니다.
| 연결 속도 (Mbps) | 예상 로딩 시간 (s) |
|---|---|
| 2.5 | 8.48 |
| 5 | 4.48 |
| 7.5 | 3.146666667 |
| 10 | 2.48 |
| 12.5 | 2.08 |
| 15 | 1.813333333 |
| 20 | 1.48 |
결과 해석
두 부분 중 어느 쪽이 큰지 보십시오. 전송이 크면 텍스트 압축, 이미지 크기 조정과 최신 포맷 사용, 쓰지 않는 자바스크립트 제거로 바이트를 줄입니다. 지연이 크면 왕복을 줄이거나 서버를 사용자 가까이 둡니다. RTT는 대체로 근거리 네트워크에서 수 ms, 좋은 유선 인터넷에서 20~50ms, 모바일에서는 50~150ms 이상인 경우가 많습니다.
흔한 실수
- 메가바이트(MB)와 메가비트(Mb)를 혼동하는 경우입니다. 8배 차이가 납니다.
- 실제 속도가 아니라 요금제의 최대 속도를 넣는 경우입니다.
- 결과를 페이지를 쓸 수 있게 되는 시점으로 오해하는 경우입니다. 렌더링과 스크립트 실행 시간이 더해집니다.
자주 묻는 질문
대역폭을 두 배로 늘려도 로딩 시간이 절반이 되지 않는 이유는 무엇인가요?
전송 시간만 줄고 지연 시간은 그대로이기 때문입니다.
새 HTTPS 연결에는 왕복이 몇 번 필요한가요?
보통 DNS 조회, TCP 1회, TLS 1~2회(TLS 1.3은 1회)가 첫 요청 전에 필요합니다. QUIC 기반 HTTP/3는 전송 연결과 TLS 설정을 합쳐 줄입니다.
출처: Ilya Grigorik, High Performance Browser Networking, O'Reilly Media (2013) · IETF RFC 8446, The Transport Layer Security (TLS) Protocol Version 1.3