사이트 성능에 관해 가장 일반적인 문제를 진단하고 대기 시간과 페이지 로드 시간을 개선할 수 있는 Cloudflare 옵션에 대해 알아봅니다.
개요
사이트의 로드 속도가 느릴 경우. 다음의 단계를 따라 문제를 해결할 수 있습니다.
- 원본 웹 서버의 과부하 또는 과도한 트래픽을 점검합니다. 호스팅 공급자에 원본 웹 서버 상태 점검을 문의합니다.
- webpagetest.org를 사용해 로딩 속도가 느린 것이 Cloudflare 때문인지 원본 웹 서버 때문인지 확인합니다.
- Cloudflare 옵션을 검토해 성능을 최적화합니다.
Webpagetest.org 성능 테스트
webpagetest.org를 사용해 속도 문제를 해결할 수 있습니다. webpagetest.org는 사이트 속도를 테스트해 이미지, CSS, HTML과 같은 콘텐츠의 로드 시간을 제공합니다. webpagetest.org는 인터넷 연결 상태 등의 로컬 인터넷 문제를 배제하는 데 효과적입니다.
다음의 방법을 통해 속도 저하의 원인을 평가할 수 있습니다.
- Cloudflare로 테스트 실행
- 원본 웹 서버 직접 테스트
- 페이지 로딩 속도 결과 검토
Cloudflare 테스트
Cloudflare가 사이트 트래픽의 프록시로 활성화되어 있을 경우(일시 중지되지 않고, 회색 구름으로 표시되지 않은 상태), Cloudflare를 통해 페이지 속도를 확인할 수 있습니다.
1. https://www.webpagetest.org/에 접속합니다.
2. 속도 저하 문제가 발생한 방문자의 위치, 브라우저와 근접한 테스트 위치와 브라우저를 선택합니다.
3. 페이지 속도가 저하된 URL을 입력한 후 START TEST를 클릭합니다.
Cloudflare 지원팀에 지원을 요청할 경우를 대비해 브라우저 URL을 완료된 테스트 결과에 복사해 놓도록 하세요.
원본 웹 서버 직접 테스트
Cloudflare를 일시 중지하거나, Cloudflare DNS 앱에서 하위 도메인 DNS 레코드를 회색 구름으로 만들면, Cloudflare를 우회해 성능을 테스트할 수 있습니다.
1. https://www.webpagetest.org/에 접속합니다.
2. Cloudflare 테스트에 사용한 테스트 위치와 브라우저를 선택합니다.
3. Cloudflare 테스트에 사용된 동일한 URL을 입력한 후 START TEST를 클릭합니다.
Cloudflare 지원팀에 지원을 요청할 경우를 대비해 브라우저 URL을 완료된 테스트 결과에 복사해 놓도록 하세요.
페이지 로드 속도 결과 검토
다음과 같이 평균 페이지 로드 속도를 검토하세요.
- Performance Results 아래에서 Plot Full Results를 클릭합니다.
- 로드 시간으로 스크롤한 후 평균 시간을 검토합니다.
- Cloudflare와 원본 서버 직접 테스트 간에 다음을 비교합니다.
- 원본 서버에 대한 평균 페이지 로드 시간이 Cloudflare를 통했을 때보다 느린 경우, 호스팅 공급자에 문의해 속도 저하의 원인을 파악하세요.
- 해당 자원의 첫 번째 요청만 속도가 느린 경우는 서버가 응답을 생성하기까지 너무 많은 시간이 걸렸다는 것을 의미합니다. 처음으로 페이지를 요청하면 Cloudflare에 캐시가 저장되어 있지 않은 경우가 많기 때문에 요청이 원본 서버로 이동해야 합니다. 호스팅 공급자를 통해 속도 저하의 원인을 파악하세요.
- 원본 서버에 대한 평균 페이지 로드 속도가 Cloudflare를 통했을 때보다 빠른 경우, 다음 정보와 함께 Cloudflare에 지원을 요청하세요.
- 속도가 느린 URL.
- 비교한 webpagetest.org URL. 이때 스크린샷이나 첨부 파일이 아닌 테스트 결과로 바로 연결되는 URL 링크를 제공해야 합니다.
- 도메인의 추적 경로.
4. Cloudflare 옵션을 검토해 성능을 최적화합니다.
사이트 성능 최적화
이 짧은 동영상에 Cloudflare의 사이트 성능을 최적화 기능이 설명되어 있습니다.
Cloudflare를 사용해 사이트를 최적화하려면, 다음과 같은 방법도 이용할 수 있습니다.
캐시 최적화
Cloudflare의 캐시 구성은 의도적으로 신중하게 기본 설정되어 있습니다. 기본 설정에서는 어떤 Cloudflare 정적 파일 유형이 캐시로 저장되는지 살펴보세요.
정적 HTML을 캐시로 저장하기 위해서는 모두 캐시 페이지 규칙을 사용해야 합니다. 정적 HTML의 캐싱은 로그인 페이지, 장바구니 페이지와 같은 동적 콘텐츠에는 적합하지 않습니다. 하지만 비즈니스 및 기업 요금제 고객은 쿠키에서 캐시 우회 페이지 규칙을 생성해 HTML 캐시 작업을 진행하면서, 실수로 로그인 페이지나 장바구니 페이지를 캐싱하는 것을 방지할 수 있습니다.
HTTPS를 사용해 HTTP/2 지원
HTTP/2는 HTTP 프로토콜의 최신 버전으로, 페이지가 더 빠르게 로드되도록 개선되었습니다. HTTPS 사이트만이 HTTP/2를 지원합니다.
원본 웹 서버 리디렉션 대신 Cloudflare Page Rules 사용
사이트 전달 시, 원본 웹 서버에서 리디렉션을 수행하는 대신 Cloudflare Page Rules을 사용합니다. Page Rules을 이용해 사이트 트래픽을 전달하면, Cloudflare 에지에서 리디렉션하므로, 원본 웹 서버로의 연결 속도 저하현상이 사라집니다.
Cloudflare의 Mirage와 Polish(유료 요금제에 포함) 사용
Cloudflare 유료 요금제로 업그레이드하면, Mirage나 Polish 기능을 이용할 수 있습니다.
Mirage와 Polish는 다음과 같은 이미지 확장자를 지원합니다.
- .jpg
- .jpeg
- .png
- .gif
Railgun(비즈니스 및 기업 요금제에 포함)으로 동적 콘텐츠의 속도 향상
Railgun은 동적 콘텐츠를 캐시합니다. Railgun을 실행하는 웹사이트의 경우 평균적으로 HTML 로드 시간이 143% 향상되고, TTFB 응답이 90% 감소합니다.
Argo Smart Routing 사용
어떤 요금제에도 Argo를 추가하면 대기 시간이 평균 33% 감소합니다. Argo의 계층형 캐시와 Smart Routing을 이용하면, 사이트에 대한 캐시 적중률이 높아져 대기 시간을 감소합니다. Argo 활성화에 관한 설명과 Argo 청구에 관한 문서를 참조하세요.