서버 첫 응답 TTFB
주소를 요청하고 첫 바이트가 오기까지의 시간입니다. 5번 재서 중앙값을 씁니다. 0.8초 안이면 양호, 1.8초를 넘으면 방문자가 흰 화면을 오래 봅니다. 값이 크게 흔들리면 서버리스 함수의 콜드 스타트나 원본 서버 부하를 의심합니다.
결과 화면의 숫자가 각각 무엇을 뜻하는지, 느리면 어디를 봐야 하는지 정리했습니다.
주소를 요청하고 첫 바이트가 오기까지의 시간입니다. 5번 재서 중앙값을 씁니다. 0.8초 안이면 양호, 1.8초를 넘으면 방문자가 흰 화면을 오래 봅니다. 값이 크게 흔들리면 서버리스 함수의 콜드 스타트나 원본 서버 부하를 의심합니다.
실제로 응답한 서버(CDN 엣지)의 위치입니다. 서울에서 쟀는데 미국·유럽 서버가 응답하면, 이후 모든 요청에 왕복 지연이 붙습니다. CDN 을 써도 요금제·통신사 사정으로 해외 엣지로 가는 경우가 있습니다.
no-store·private 는 어디에도 저장하지 말라는 뜻이라, 방문할 때마다 서버가 페이지를 새로 만듭니다. 반면 max-age=0, must-revalidate 는 "매번 확인"이라 SPA 에서는 정상 구성입니다.
HTML 에 적힌 CSS·JS·폰트·이미지를 실제로 받아 용량과 시간을 잽니다. 자바스크립트는 300KB 안을 권장합니다. 파일명에 해시가 붙은 파일은 1년 캐시(immutable)가 정답입니다.
검색엔진이 가져가는 sitemap.xml 을 끝까지 받아 봅니다. 요청마다 새로 만들어 수 초씩 걸리면 수집 때마다 서버를 붙잡습니다. 파일당 50,000개·50MB 가 구글 한도이며, 이미지가 많으면 따로 나누는 것이 좋습니다.
서울 한 지점에서, 브라우저 없이 HTTP/1.1 로 직접 요청합니다. 자바스크립트 실행·렌더링 시간과 다른 지역의 속도는 포함되지 않습니다. 그 부분은 PageSpeed·WebPageTest 로 이어서 보세요.
100점에서 시작해 항목별로 깎습니다. 서버 첫 응답(5회 중앙값), 응답 시간 흔들림, 응답한 서버의 거리, HTML 캐시·압축, 첫 화면 파일 용량과 캐시, 사이트맵 전송 시간을 봅니다. 결과 화면에 무엇이 몇 점 깎였는지 그대로 보여 줍니다.
CDN 이 있어도 한국 방문자를 해외 서버로 보내거나, 페이지를 캐시하지 못하게 설정돼 있으면 매번 원본까지 갑니다. CDN 이 있다는 사실만으로는 가점하지 않고, 감점이 거의 없을 때만 더합니다.
PageSpeed 는 브라우저로 자바스크립트를 실행하고 화면이 그려지는 시간까지 봅니다. 이 검사는 서버 응답과 파일 전송을 직접 재는 쪽입니다. 둘은 서로 다른 부분을 보므로 함께 확인하는 것이 좋습니다.
항상 그렇지는 않습니다. 공간과 트래픽이 부족한 문제라면 도움이 되지만, 서버 응답이 느리거나 캐시가 꺼져 있거나 파일이 무거운 문제라면 요금제만 올려도 그대로 느릴 수 있습니다.
서버 응답 지연, 먼 곳의 서버, 제한된 설정이 원인이라면 이전이 도움이 됩니다. 이전 전에 지금 사이트의 병목이 어디인지 먼저 재 보는 것이 순서입니다.
한 번 측정에 첫 페이지 5회, robots.txt 와 사이트맵 각 1회, 첫 화면 파일 최대 24개를 받습니다. 방문자 한 명이 페이지를 여는 것과 비슷한 양입니다.