Google PageSpeed Insights 로컬 서버 구축 해서 주기적으로 웹사이트 속도 측정하는 방법 알아보았어요

 

Google PageSpeed Insights를 로컬 서버에서 구축하고 주기적으로 웹사이트 속도를 측정하는 방법은 다음과 같습니다. 이를 위해서는 Docker를 사용하여 PageSpeed Insights를 로컬에 배포하고, 주기적으로 웹사이트를 테스트하는 스케줄 작업을 설정해야 합니다.

 

# 우분투

참고: 이 가이드는 리눅스 기반 시스템 (예: Ubuntu)을 기준으로 작성되었습니다. 다른 운영 체제에서도 비슷한 방식으로 작동할 수 있지만 명령어와 디렉토리 경로는 다를 수 있습니다.

  1. Docker 설치: 로컬 서버에 Docker를 설치합니다. Docker는 컨테이너 기반 가상화를 지원하여 PageSpeed Insights를 실행하는 데 사용됩니다.
  2. Docker 설치 가이드: https://docs.docker.com/get-docker/
  3. Docker 컨테이너 실행:
    bashCopy code
    docker run -d -p 8080:80 gcr.io/https-inlining-proxy/pagespeed-cli
    이 명령어는 PageSpeed Insights 컨테이너를 8080 포트로 노출시킵니다.
  4. 다음 명령어를 사용하여 Google PageSpeed Insights 도커 컨테이너를 실행합니다.
  5. Ngrok 설치:Ngrok 설치 가이드: https://ngrok.com/download
  6. 로컬 서버의 PageSpeed Insights를 외부에서 접근할 수 있도록 Ngrok을 설치합니다.
  7. Ngrok으로 PageSpeed Insights 노출:
    bashCopy code
     
    이 명령어는 Ngrok을 통해 생성된 공용 URL을 제공합니다. 이 URL을 통해 웹사이트 속도 테스트를 수행할 수 있습니다.
  8. 다음 명령어를 사용하여 Ngrok을 실행하고 로컬 PageSpeed Insights 서버를 노출시킵니다.
  9. 주기적인 테스트 스케줄링:
    bashCopy code
    crontab -e
    그런 다음, 다음과 같이 크론 작업을 추가합니다 (예: 매일 밤 2시에 테스트 실행).이 명령어는 매일 밤 2시에 PageSpeed Insights에서 데이터를 가져와 지정된 경로에 JSON 파일로 저장합니다.
  10. bashCopy code
    0 2 * * * curl -s -o /path/to/save/results.json http://your-ngrok-url
  11. 로컬 PageSpeed Insights 서버의 URL을 사용하여 주기적인 웹사이트 속도 테스트를 수행하기 위해 자동화된 스케줄 작업을 설정합니다. 예를 들어, 크론 (Cron) 작업을 사용하여 주기적으로 PageSpeed Insights에 요청을 보내고 결과를 기록할 수 있습니다.

이제 Google PageSpeed Insights를 로컬 서버에 구축하고 주기적으로 웹사이트 속도를 측정할 수 있습니다. 주의할 점은 Ngrok URL이 주기적으로 변경될 수 있으므로 크론 작업을 업데이트해야 할 수 있습니다. 또한, 결과 데이터를 수집하고 분석하는 방법을 구현하여 웹사이트의 성능을 개선할 수 있습니다.

 

# 윈도우

 

  1. Docker 설치: Docker Desktop을 설치한 후 실행하여 Docker 서버를 시작합니다.
  2. 먼저 Windows 운영 체제에 Docker Desktop을 설치해야 합니다. Docker Desktop은 Windows 10 Professional 또는 Enterprise Edition에서 지원됩니다.
  3. Windows Subsystem for Linux (WSL) 활성화:
    • 제어판(Control Panel) > "프로그램(Programs)" > "Windows 기능 켜기/끄기(Turn Windows features on or off)"로 이동합니다.
    • "Windows Subsystem for Linux" 옵션을 선택하고 확인합니다.
  4. PageSpeed Insights 컨테이너는 Linux 환경에서 실행되므로 WSL을 활성화해야 합니다.
  5. WSL 2 업그레이드 (옵션):
  6. Docker Desktop을 사용하는 경우 WSL 2로 업그레이드하면 성능이 향상됩니다. WSL 2 업그레이드 방법은 Docker Desktop 설명서를 참조하세요.
  7. Docker 컨테이너 실행:
    bashCopy code
    docker run -d -p 8080:80 gcr.io/https-inlining-proxy/pagespeed-cli
    이 명령어는 PageSpeed Insights 컨테이너를 8080 포트로 노출시킵니다.
  8. Docker Desktop을 설치하고 WSL을 활성화한 후에는 다음 명령어를 사용하여 Google PageSpeed Insights 도커 컨테이너를 실행할 수 있습니다. 이 예에서는 Ubuntu를 사용합니다.
  9. Ngrok 설치 (옵션):
  10. 로컬 PageSpeed Insights 서버를 외부에서 접근할 수 있도록 Ngrok을 설치합니다. Windows 운영 체제에서 Ngrok을 사용하는 방법은 다양하므로 Ngrok 공식 웹사이트를 참조하여 설치 및 설정합니다.
  11. 웹 브라우저에서 테스트:
    arduinoCopy code
    http://localhost:8080/
    또는 Ngrok을 사용하면 Ngrok이 생성한 공용 URL을 사용할 수 있습니다.
  12. 웹 브라우저에서 다음 URL을 통해 로컬 PageSpeed Insights 서버에 접속하여 웹사이트 속도를 테스트할 수 있습니다.

Google PageSpeed Insights를 Windows에서 실행하려면 Docker와 WSL을 적절하게 설정하고 관리해야 합니다. 이 과정은 조금 복잡할 수 있으므로 지원이 필요하거나 더 자세한 지침이 필요한 경우 관련 도움말 및 커뮤니티 리소스를 참조하세요.

 

# 타켓 웹사이트가 로그인을 해야 하는 경우

Google PageSpeed Insights는 일반적으로 공개적으로 접근 가능한 웹사이트의 속도를 측정하는 도구입니다. 그러나 로그인이 필요한 웹사이트의 경우 PageSpeed Insights로 직접 속도 측정을 수행하기는 어려울 수 있습니다. 이는 PageSpeed Insights가 웹사이트 내의 로그인 및 사용자 인증 정보에 접근할 수 없기 때문입니다.

그러나 다음과 같은 대안적인 방법을 고려할 수 있습니다.

  1. 퍼블릭 페이지 측정:
  2. PageSpeed Insights를 사용하여 웹사이트의 공개적인 페이지를 측정할 수 있습니다. 대부분의 웹사이트는 퍼블릭 페이지와 로그인이 필요한 페이지로 나뉩니다. PageSpeed Insights는 퍼블릭 페이지에 대한 성능 데이터를 수집할 수 있으므로, 이러한 페이지를 대상으로 측정합니다.
  3. 테스트 계정 사용:
  4. 웹사이트의 속도를 PageSpeed Insights로 측정하려면 로그인이 필요한 경우, 테스트 계정을 생성하여 PageSpeed Insights에게 해당 계정으로 로그인하도록 설정할 수 있습니다. 그러나 이러한 방법은 보안 문제를 야기할 수 있으므로 주의해야 합니다. 테스트 계정을 사용하면 PageSpeed Insights가 로그인 후에도 웹사이트의 성능을 측정할 수 있습니다.
  5. 웹 개발자 도구 사용:
  6. Chrome 브라우저의 개발자 도구를 사용하여 웹사이트의 성능을 측정할 수 있습니다. 개발자 도구의 Network 탭을 사용하여 페이지 로딩 시간, 리소스 로딩 시간 등을 확인할 수 있습니다. 이 방법은 PageSpeed Insights보다 상세한 정보를 제공할 수 있으며, 로그인이 필요한 페이지도 테스트할 수 있습니다. 다만, 이것은 수동으로 수행해야 하므로 자동화된 테스트가 아닙니다.
  7. 내부 도구 또는 서비스 사용:
  8. 로그인이 필요한 웹사이트의 성능을 모니터링하려면 내부 도구나 서비스를 고려할 수 있습니다. 여러 웹 성능 모니터링 도구 및 서비스가 있으며, 이러한 도구는 웹사이트의 성능을 정기적으로 모니터링하고 보고서를 생성할 수 있습니다. 이러한 도구는 웹사이트 내부 정보에 액세스할 수 있으므로 PageSpeed Insights보다 정확한 결과를 제공할 수 있습니다.

로그인이 필요한 웹사이트의 성능 모니터링은 고려해야 할 여러 요소가 있으므로 해당 웹사이트의 요구 사항 및 보안 정책을 고려하여 적절한 방법을 선택해야 합니다.

 

 

 

# Google PageSpeed Insights 에 계정으로 로그인하도록 설정 하는 방법

 

참고: 이 방법은 일부 웹사이트에서만 작동할 수 있으며, 웹사이트의 보안 설정 및 사용자 인증 방법에 따라 다를 수 있습니다. 또한 이 방법은 테스트 목적으로만 사용해야 하며, 웹사이트의 이용 약관을 준수해야 합니다.

  1. 테스트 계정 생성:
  2. PageSpeed Insights에 사용할 테스트 계정을 생성합니다. 이 계정은 웹사이트에 로그인할 권한을 가져야 합니다. 일반적으로 이 계정은 웹사이트 테스트 전용 계정으로 만드는 것이 좋습니다.
  3. 계정 정보 저장:
  4. PageSpeed Insights에서 로그인을 시도할 때 사용할 계정 정보(사용자 이름과 비밀번호)를 안전하게 저장합니다.
  5. PageSpeed Insights로 로그인 설정:
    bashCopy code
    >psi <테스트 URL> --user-agent="<사용자 에이전트 문자열>" --custom-auth="<사용자 이름>:<비밀번호>"
    • <테스트 URL>: PageSpeed Insights로 테스트하려는 로그인이 필요한 웹사이트의 URL을 입력합니다.
    • <사용자 에이전트 문자열>: 로그인 시 사용할 사용자 에이전트 문자열을 입력합니다.
    • <사용자 이름>: 생성한 테스트 계정의 사용자 이름을 입력합니다.
    • <비밀번호>: 생성한 테스트 계정의 비밀번호를 입력합니다.
    이 정보를 통해 PageSpeed Insights는 로그인이 필요한 웹사이트에 대한 성능 테스트를 수행할 수 있습니다.
  6. PageSpeed Insights를 사용하여 웹사이트를 테스트하려면 아래와 같이 테스트 URL과 함께 로그인 정보를 전달해야 합니다. 이를 위해 --user-agent 및 --custom-auth 옵션을 사용합니다.

주의 사항:

  • PageSpeed Insights로 로그인을 시도할 때 웹사이트의 보안 정책 및 Captcha 등에 의해 테스트가 차단될 수 있습니다.
  • PageSpeed Insights는 로그인이 필요한 페이지에 대한 테스트를 지원하지만, 사용자 세션 유지 및 복잡한 로그인 프로세스에 대한 테스트는 어려울 수 있습니다.
  • 테스트 계정을 만들 때 웹사이트의 이용 약관을 확인하고 준수해야 합니다. 이용 약관을 위반하면 웹사이트 접근이 차단될 수 있습니다.

PageSpeed Insights를 사용하여 웹사이트의 성능을 테스트할 때 로그인이 필요한 경우, 테스트 계정을 만들고 로그인 정보를 제공하여 테스트를 수행하면 됩니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터