질문과 답변

2026.08.16 10:02

메인페이지는 어떻게 구성하는게 좋을까요?

미묘한 차이지만 현재 리빌더의 메인페이지는 로딩에 약간의 흔들림이 있습니다.

메인페이지의 로딩관련 어떤 방법이 좋을까요?

(1) 직접 코딩을 한다.
(2) layout.render.php 파일등 최적화가 진행될 가능이 있으므로 기존 리빌더 방식을 사용한다.

최신글, 위젯에 직접 redis 캐시를 적용해도 메인페이지의 로딩이 그누보드5 순정에 비해 느낌으로 최신글, 위젯 출력에 많은 차이가 나는 상황이라..

현재 리빌더는 원할한 기능 확장을 위한 것인지 모르겠지만,
AI에 물어보니
  • (1) 과도한 PHP DOM 파싱 부하 (DOMDocument / DOMXPath)

    • 코드를 보면 DOMDocument를 생성하고 HTML을 로드(loadHTML)한 뒤, DOMXPath로 노드를 찾고, 자식을 붙이고, 다시 문자열로 변환(saveHTML)하는 무거운 작업을 수행하고 있습니다.

    • 특히 rb_replace_element_inner_html 함수 내부에서는 중첩된 레이아웃 개수만큼 매번 새로운 DOMDocument 객체를 또 생성하여 파싱하고 있습니다.

    • 이로 인해 PHP 서버의 CPU 연산량이 급증하여 서버가 HTML을 완성해 브라우저로 보내는 시간(TTFB) 자체가 길어지게 됩니다. 브라우저는 페이지의 일부분(또는 기본 레이아웃 텍스트)을 먼저 받고, 서버가 무거운 DOM 조작을 끝내고 나머지 위젯 HTML을 밀어낼 때까지 대기하게 되므로 체감 딜레이가 발생합니다.

  • (2) 내부 스크립트 동적 인클루드 (rb_capture_layout_render_map)

    • include $capture_script를 통해 레이아웃 렌더링 파일을 매번 동적으로 불러와 실행하는 구조 역시 페이지를 구성하는 과정에서 I/O 및 파싱 오버헤드를 가중시킵니다.


    • 공유링크 복사
      미니홈 쪽지 구독하기
      구독하고 알림받기

      댓글목록

      profile_image
      리빌더미니홈 1:1 대화하기  2일 전

      안녕하세요,

      메인 쪽은 2.2.7 버전에서 로딩 방식을 변경하는 작업을 진행중에있습니다.
      2.2.7 버전 배포 후에 방향을 잡는것이 좋을것같습니다.

      조금만 기다려주세요.
      감사합니다.

      2026-08-17 05:19

      profile_image
      rainbow미니홈 1:1 대화하기  1일 전

      네. 알겠습니다.
      2.2.7에 많은 변화가 있나보네요. 새로운 방향의 리빌더가 탄생하겠군요.

      2026-08-17 19:27