답변 4개
XAMPP를 Windows에서 쓰시는 경우라면, 위 답변의 curl 측정을 PowerShell에서 이렇게 해보셔도 됩니다. curl 대신 curl.exe로 실행하면 PowerShell의 별칭과 혼동하지 않을 수 있습니다.
주소는 실제 G7 접속 주소(포트·하위 경로 포함)로 바꿔주세요. 이 명령은 PowerShell에 직접 붙여 넣는 예시입니다. 윈도우 .bat 파일에서는 % 처리 방식이 다르니 그대로 옮기지 마세요.
처음 한 번과 이어서 3번 정도를 비교해 보세요. 처음만 느린지, 매번 비슷하게 느린지부터 구분할 수 있습니다. FIRST가 몇 초여도 그 값 전체가 PHP 실행 시간이라는 뜻은 아닙니다. DNS·연결 등을 포함한 첫 바이트 수신 시간이라 DB나 특정 모듈 문제로 바로 단정하면 안 됩니다. HTTP가 200인지, 다른 주소로 보내는 301/302인지도 함께 봐주세요.
HTML 응답은 빠른데 화면이 늦게 뜬다면, 브라우저 Network에서 느린 API 요청 한 개를 골라 Timing을 열어보세요. Waiting이 긴지, 파일을 내려받는 Content Download가 긴지에 따라 다음에 볼 곳이 달라집니다. 로그인 전후가 다르다면 인증이 필요한 API를 curl로 단순 호출한 결과와 비교하지 마시고 브라우저 쪽 결과를 기준으로 보시면 됩니다.
Windows 환경인지와 느린 요청의 경로·상태 코드·Timing 정도를 알려주시면 다음 확인을 더 구체적으로 정할 수 있겠습니다. 쿠키나 Authorization 값이 들어간 전체 요청은 공개하지 않으셔도 됩니다.
측정 항목 설명: https://curl.se/docs/manpage.html#-w
Copy
curl.exe -sS -o NUL -w "DNS=%{time_namelookup} CONNECT=%{time_connect} FIRST=%{time_starttransfer} TOTAL=%{time_total} HTTP=%{http_code}" "http://localhost/"
주소는 실제 G7 접속 주소(포트·하위 경로 포함)로 바꿔주세요. 이 명령은 PowerShell에 직접 붙여 넣는 예시입니다. 윈도우 .bat 파일에서는 % 처리 방식이 다르니 그대로 옮기지 마세요.
처음 한 번과 이어서 3번 정도를 비교해 보세요. 처음만 느린지, 매번 비슷하게 느린지부터 구분할 수 있습니다. FIRST가 몇 초여도 그 값 전체가 PHP 실행 시간이라는 뜻은 아닙니다. DNS·연결 등을 포함한 첫 바이트 수신 시간이라 DB나 특정 모듈 문제로 바로 단정하면 안 됩니다. HTTP가 200인지, 다른 주소로 보내는 301/302인지도 함께 봐주세요.
HTML 응답은 빠른데 화면이 늦게 뜬다면, 브라우저 Network에서 느린 API 요청 한 개를 골라 Timing을 열어보세요. Waiting이 긴지, 파일을 내려받는 Content Download가 긴지에 따라 다음에 볼 곳이 달라집니다. 로그인 전후가 다르다면 인증이 필요한 API를 curl로 단순 호출한 결과와 비교하지 마시고 브라우저 쪽 결과를 기준으로 보시면 됩니다.
Windows 환경인지와 느린 요청의 경로·상태 코드·Timing 정도를 알려주시면 다음 확인을 더 구체적으로 정할 수 있겠습니다. 쿠키나 Authorization 값이 들어간 전체 요청은 공개하지 않으셔도 됩니다.
측정 항목 설명: https://curl.se/docs/manpage.html#-w
XAMPP에 PHP 8.2로 설치하셨다면 PHP 버전 자체보다는 XAMPP의 개발환경 설정이나 PHP/DB 연결 부분을 먼저 확인해 보시는 게 좋습니다.
그누보드7이 처음 페이지부터 몇 초 이상 오래 걸린다면 다음 부분을 확인해 보세요.
- PHP 에러 로그 확인
- XAMPP의
php_error_log등을 확인해서 반복적으로 발생하는 오류가 있는지 확인합니다.
- XAMPP의
- MySQL 접속 확인
- DB 서버 연결이 느리거나
localhost대신127.0.0.1설정에 따라 지연되는 경우도 있습니다.
- DB 서버 연결이 느리거나
- PHP 확장 모듈 확인
- 그누보드7에서 필요한 PHP 확장 모듈이 정상적으로 활성화되어 있는지 확인해야 합니다.
- 외부 사이트 연결 확인
- 라이선스 확인, API, CDN, 폰트, 외부 JS/CSS 등을 호출하다가 응답을 기다리는 경우 페이지 전체가 느려질 수 있습니다.
- 특히 인터넷이 연결된 상태에서는 빠른데 인터넷 연결을 끊으면 빨라지는 경우 외부 요청을 의심해 볼 수 있습니다.
- 브라우저 개발자도구 확인
- 크롬에서
F12 → Network를 열고 새로고침한 뒤 어떤 요청에서 시간이 오래 걸리는지 확인하면 원인을 찾는 데 도움이 됩니다.
- 크롬에서
단순히 PHP 8.2라서 그누보드7이 느린 것은 아닙니다.
첫 화면 로딩이 오래 걸리는 경우에는 Network에서 가장 오래 걸리는 요청 하나를 찾는 게 가장 빠릅니다.
말씀하신 내용만으로는 PHP 문제인지,
XAMPP 환경 문제인지,
DB 또는 그누보드7의 API 응답 문제인지는 판단하기 어려워 보입니다.
우선 “사이트가 느리다”는 체감보다 실제로 어느 요청에서 시간이 걸리는지 먼저 확인해 보시는 것이 좋을 것 같습니다.
브라우저 개발자도구(F12)의 Network 탭을 열고 인덱스(메인) 페이지를 새로고침한 다음,
- 최초 HTML 응답
- `/api/...` 요청
- JS/CSS 같은 정적 파일
중에서 어떤 요청이 오래 걸리는지 확인해 보세요.
가능하면 오래 걸리는 요청 몇 개의 응답 시간이나 Network 탭 스크린샷을 같이 올려주시면 원인을 찾기가 훨씬 쉬울 것 같습니다.
로컬 XAMPP 환경이라면 메인 페이지의 TTFB도 확인해 볼 수 있습니다.
G7은 페이지를 표시할 때 필요한 에셋과 레이아웃 등을 API로 가져오는 구조이기 때문에,
페이지 자체보다 API 응답이 느려서 전체 로딩이 느리게 느껴질 수도 있습니다.
그누보드7 GitHub의 속도 관련 이슈에서도 운영진이 아래 설정을 권장한 바 있습니다.
- 관리자 > 환경설정 > 드라이버에서 캐시 드라이버 Redis 사용
- 세션 드라이버 Redis 사용
- PHP OPcache 활성화
- Apache/Nginx gzip 활성화
특히 파일 기반 캐시를 사용하고 있다면 Redis 같은 in-memory 캐시로 변경했을 때 도움이 될 수 있다고 설명되어 있습니다.
배포 환경에서는 Laravel의 설정 및 라우트 캐시도 확인해 볼 수 있습니다.
XAMPP 환경이라면 추가로 다음 정도도 확인해 보시면 좋겠습니다.
- PHP OPcache가 실제로 활성화되어 있는지
- Xdebug가 활성화되어 있지 않은지
- DB 응답 자체가 느리지 않은지
- Windows Defender 등의 실시간 검사가 프로젝트 파일 접근에 영향을 주고 있지 않은지
Laravel 계열은 작은 PHP 파일을 많이 읽기 때문에 Windows + XAMPP 환경에서는 파일 I/O의 영향을 받을 수도 있습니다.
우선 Network 탭에서 가장 오래 걸리는 요청 몇 개와 각각의 응답 시간을 확인해서 올려주시면,
PHP/XAMPP 문제인지 DB/API 문제인지부터 구분해 볼 수 있을 것 같습니다.
XAMPP 환경 문제인지,
DB 또는 그누보드7의 API 응답 문제인지는 판단하기 어려워 보입니다.
우선 “사이트가 느리다”는 체감보다 실제로 어느 요청에서 시간이 걸리는지 먼저 확인해 보시는 것이 좋을 것 같습니다.
브라우저 개발자도구(F12)의 Network 탭을 열고 인덱스(메인) 페이지를 새로고침한 다음,
- 최초 HTML 응답
- `/api/...` 요청
- JS/CSS 같은 정적 파일
중에서 어떤 요청이 오래 걸리는지 확인해 보세요.
가능하면 오래 걸리는 요청 몇 개의 응답 시간이나 Network 탭 스크린샷을 같이 올려주시면 원인을 찾기가 훨씬 쉬울 것 같습니다.
로컬 XAMPP 환경이라면 메인 페이지의 TTFB도 확인해 볼 수 있습니다.
Copy
특정 API 요청이 느리다면 해당 API도 같은 방식으로 각각 측정해 보시면 됩니다.curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\n" http://localhost/
G7은 페이지를 표시할 때 필요한 에셋과 레이아웃 등을 API로 가져오는 구조이기 때문에,
페이지 자체보다 API 응답이 느려서 전체 로딩이 느리게 느껴질 수도 있습니다.
그누보드7 GitHub의 속도 관련 이슈에서도 운영진이 아래 설정을 권장한 바 있습니다.
- 관리자 > 환경설정 > 드라이버에서 캐시 드라이버 Redis 사용
- 세션 드라이버 Redis 사용
- PHP OPcache 활성화
- Apache/Nginx gzip 활성화
특히 파일 기반 캐시를 사용하고 있다면 Redis 같은 in-memory 캐시로 변경했을 때 도움이 될 수 있다고 설명되어 있습니다.
배포 환경에서는 Laravel의 설정 및 라우트 캐시도 확인해 볼 수 있습니다.
Copy
다만 이런 설정부터 적용하기보다는 먼저 Network 탭에서 어느 요청이 느린지 확인하는 것이 순서일 것 같습니다.php artisan config:cache
php artisan route:cache
XAMPP 환경이라면 추가로 다음 정도도 확인해 보시면 좋겠습니다.
- PHP OPcache가 실제로 활성화되어 있는지
- Xdebug가 활성화되어 있지 않은지
- DB 응답 자체가 느리지 않은지
- Windows Defender 등의 실시간 검사가 프로젝트 파일 접근에 영향을 주고 있지 않은지
Laravel 계열은 작은 PHP 파일을 많이 읽기 때문에 Windows + XAMPP 환경에서는 파일 I/O의 영향을 받을 수도 있습니다.
우선 Network 탭에서 가장 오래 걸리는 요청 몇 개와 각각의 응답 시간을 확인해서 올려주시면,
PHP/XAMPP 문제인지 DB/API 문제인지부터 구분해 볼 수 있을 것 같습니다.
답변을 작성하려면 로그인이 필요합니다.