Fullmoon System

워드프레스 속도 개선: 페이지 캐시·DB·외부 호출을 나눠 측정하기

AI Editter

성능 점수가 낮다고 캐시 플러그인을 여러 개 설치하면 원인이 더 복잡해질 수 있습니다. 서버가 응답하기까지 느린지, 응답은 빠른데 큰 이미지와 스크립트가 화면을 늦게 그리는지 먼저 구분해야 합니다.

속도 개선의 출발점은 동일한 URL과 사용자 상태를 반복해서 측정하는 것입니다. 홈페이지 하나의 결과로 검색 유입 글, 관리자 화면, 로그인 페이지의 성능을 대표하지 않습니다.

네 가지 페이지를 기준으로 잡는다

페이지상태측정 목적
검색 유입 글비로그인일반 방문자의 읽기
이미지 많은 글비로그인파일 크기·렌더링
로그인 후 개인 화면로그인캐시 제외 경로
관리자 편집관리자PHP·DB·외부 연동

지역·기기·네트워크와 캐시가 비어 있는 첫 요청, 이후 요청을 기록합니다. 한 번의 최고 점수보다 같은 조건의 분포와 실제 사용자 지표를 봅니다.

TTFB와 화면 표시를 나눠 해석

TTFB는 첫 바이트를 받기까지의 시간을 보여 주지만 네트워크와 연결 과정도 포함합니다. 서버 처리 시간과 항상 같은 값은 아닙니다. CDN 경유와 원본 직접 측정도 경로를 구분해 비교합니다.

승인된 진단 환경에서 다음처럼 GET 요청의 시간을 확인할 수 있습니다.

curl -sS -o /dev/null \
  -w 'connect=%{time_connect} ttfb=%{time_starttransfer} total=%{time_total}\n' \
  'https://example.com/sample-post/'

이 결과만으로 브라우저의 JavaScript 실행과 화면 배치를 알 수는 없습니다. 브라우저 성능 도구에서 이미지, 폰트, 스크립트, 렌더링을 별도로 확인합니다.

페이지 캐시가 적용되는 요청을 확인

페이지 캐시는 생성된 HTML을 재사용할 수 있지만 로그인·장바구니·개인화 응답은 별도 정책이 필요합니다. 캐시 헤더와 반복 요청 결과를 확인하고, 사용자별 내용이 섞이지 않는지 시험합니다.

객체 캐시, 페이지 캐시, 브라우저 캐시는 서로 다른 계층입니다. 객체 캐시를 켰다고 PHP 실행이 모두 사라지는 것은 아니며, 페이지 캐시 적중이 관리자 편집 속도를 개선한다는 보장도 없습니다. WordPress의 성능 최적화 안내와 캐시 구분을 기준으로 적용 범위를 확인합니다.

캐시를 여러 계층에 적용할 때는 수정 후 어떤 순서로 갱신되는지도 정합니다. 빠르게 보이지만 오래된 공지나 가격이 남으면 기능상의 문제입니다.

원본 응답이 느리면 PHP·DB·외부 요청을 분리

시험 환경에서 요청별 PHP 처리, DB 쿼리 수와 시간, 외부 HTTP 호출을 확인합니다. 진단 플러그인이나 추적 도구가 추가 부하를 만들 수 있으므로 운영 노출과 사용 기간을 제한합니다.

관찰다음 실험
DB 시간 비중이 큼느린 쿼리·인덱스·반복 조회 분석
외부 호출에서 대기해당 API의 제한시간·캐시·실패 처리
특정 템플릿만 느림반복 루프·이미지·플러그인 기능 분리
동시 접속 때만 지연PHP 워커·메모리·DB 연결·대기열

플러그인 수가 많다는 이유만으로 모두 같은 비용을 만든다고 보지 않습니다. 실제 요청 경로에서 어떤 기능이 시간을 쓰는지 확인합니다. 사용하지 않는 플러그인을 정리하더라도 데이터 삭제 옵션과 연동 영향을 검토합니다.

이미지와 스크립트는 사용 화면 기준으로

본문 폭이 800px인 화면에서 수천 픽셀 원본을 항상 내려받는다면 적절한 크기를 제공할 수 있습니다. 다만 코드·설정 화면처럼 확대해 읽어야 하는 이미지는 상세 원본 링크를 함께 제공하는 편이 유용합니다.

첫 화면의 주요 이미지를 무조건 지연 로딩하면 오히려 표시가 늦어질 수 있습니다. 아래쪽 이미지와 구분하고 실제 렌더링 결과를 확인합니다. JavaScript 지연·결합도 메뉴, 검색, 댓글, 결제 같은 기능 시험과 함께 적용합니다.

폰트와 광고·분석 스크립트 등 외부 자원은 요청 수뿐 아니라 실행과 레이아웃 변화까지 확인합니다. 제거가 업무상 어려운 항목은 로드 시점과 크기, 대체 방식을 검토합니다.

한 변경씩 적용하고 정확성을 확인

기준값을 남긴 뒤 가장 큰 병목 하나를 수정합니다. 같은 페이지·로그인 상태·기기 조건으로 재측정하고 기능 시험을 합니다. 여러 최적화 옵션을 동시에 켜면 속도 변화와 기능 오류의 원인을 구분하기 어렵습니다.

통과 기준에는 응답시간뿐 아니라 로그인, 폼 제출, 검색, 이미지 확대, 모바일 메뉴, 콘텐츠 갱신을 포함합니다. 캐시된 화면에서 관리자 표시나 다른 사용자의 데이터가 보이지 않는지도 확인합니다.

최종 기록에는 변경 전후 조건과 측정값, 적용 설정, 되돌릴 방법을 남깁니다. 성능 점수 하나를 올린 결과보다 검색 방문자가 필요한 글을 빠르게 읽고 기능을 사용할 수 있는지가 실제 개선의 기준입니다.

관련 절차: Nginx 502·504 오류 해결: upstream 로그로 원인 찾는 순서