사이트의 속도 개선을 위해서는 먼저 성능 측정 부터 해야 한다.
여러 가지 성능 측정 방식들이 있지만, 그 중에서 사용하기 편하고 분석이 자세히 되는
구글 lighthouse 를 사용하는 방식을 포스팅 하려고 합니다.
lighthouse : 구글이 만든 성능측정 라이브러리
https://developers.google.com/web/tools/lighthouse/?hl=ko
이용방법
세가지 방식을 제공해주고 있습니다
첫번째. 크롬 개발자 도구의 audit 을 사용
두번째. 크롬 확장 프로그램으로 설치해서 사용
세번째. node 의 라이브러리로 사용
첫번째. 크롬 개발자 도구의 audit 을 사용
크롬 브라우저를 사용하시면 분석하고 싶은 사이트로 이동하시고
F12 를 눌러서 크롬개발자도구를 띄웁니다
개발자도구의 메뉴중에 Audits 을 누릅니다
옵션으로
Device : 모바일 / 데스크탑 환경 중 선택
Audits : 5가지 항목을 선택
Throttling : 클라이언트 환경 선택 (사용자의 단말기가 안좋다는 가정으로 선택할 수 있다)
Run Audit 을 누르면 선택한 옵션을 기준으로 측정결과를 확인 할 수 있습니다
Download report 로 리포트를 저장 할 수 있고
view Trace 를 눌러서 Performance 를 확인할 수 있습니다
두번째. 크롬 확장 프로그램으로 설치해서 사용
첫번째 방식과 유사하지만 크롬 확장 프로그램으로 설치해서 측정 할 수 있습니다
크롬 앱스토어에서 lighthouse 를 검색하고
https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk?hl=ko
설치 합니다
크롬 브라우저의 오른쪽 상단에 lighthouse 아이콘이 생깁니다
네이버로 접속해서 lighthouse 아이콘을 누르면 Generate report 로 보고서를 만들 수 있습니다
옵션에서 측정 항목도 선택할 수 있습니다
열심히 등대 불이 나오면서 분석하고
아까와는 UI 가 다른 리포트를 생성해줍니다
내용은 View Trace 만 없고 나머지는 동일합니다
세번째. node 의 라이브러리로 사용
node 라이브러리로 설치해서 커맨드 라인으로 분석하는 방법입니다
node 10버전 이상을 설치되어 있어야 합니다
npm install -g lighthouse
글로벌로 lighthouse 를 설치해줍니다 ( 글로벌로 설치하는 게 싫으면 npx 로 lighthouse 를 실행해줍니다 )
lighthouse https://www.naver.com
lighthouse 의 help 를 찾아보면 여러가지 방법들이 나옵니다
lighthouse --help
Examples:
lighthouse <url> --view Opens the HTML report in a browser after the run completes
lighthouse <url> --config-path=./myconfig.js Runs Lighthouse with your own configuration: custom audits, report
generation, etc.
lighthouse <url> --output=json --output-path=./report.json --save-assets Save trace, screenshots, and named JSON report.
lighthouse <url> --emulated-form-factor=none --throttling-method=provided Disable device emulation and all throttling
lighthouse <url> --chrome-flags="--window-size=412,660" Launch Chrome with a specific window size
lighthouse <url> --quiet --chrome-flags="--headless" Launch Headless Chrome, turn off logging
lighthouse <url> --extra-headers "{\"Cookie\":\"monster=blue\", Stringify'd JSON HTTP Header key/value pairs to send in requests
\"x-men\":\"wolverine\"}"
lighthouse <url> --extra-headers=./path/to/file.json Path to JSON file of HTTP Header key/value pairs to send in requests
lighthouse <url> --only-categories=performance,pwa Only run specific categories
내가 사용하는 커맨드는
lighthouse --quiet --chrome-flags="--no-sandbox --headless" https://m.naver.com --output=html
크롬 브라우저가 뜨지 않도록 headless flags 를 붙여주고
output 은 html 파일 형식으로 남기게 --output=html
실행 후에 리포트파일이 결과물로 남습니다
멀티 URL 을 측정하기
여러개의 URL 을 측정하도록 한다
1. text 파일에 URL 을 여러개 등록하고
2. batch 파일이 text 파일을 읽어서 URL 만큼 lighthouse 를 실행한다
auditlist.txt 파일을 만든다 (그냥 URL 몇개 추가)
https://m.nsmall.com
https://m.coupang.com
http://m.gsshop.com/index.gs
audit.bat 라는 배치파일을 만든다
@FOR /F "UseBackQ Delims=" %%A IN ("auditlist.txt") DO (
@lighthouse "%%A" --quiet --chrome-flags="--no-sandbox --headless" --output html
)
FOR IN DO 구분을 사용해서 auditlist.txt 파일을 읽어서 줄바꿈 기준으로 URL 을 변수로 담고
lighthouse 커맨드를 조합해서 실행하는 내용입니다
결과물
실행하면 리포트 파일이 쫙 생긴다
결과물을 json 으로 남기고 Lighthouse Report Viewer 로 볼 수 도 있습니다
라이트하우스 뷰어 : https://googlechrome.github.io/lighthouse/viewer/
lighthouse 페이지 가보면 수많은 프로젝트들도 있습니다.
서비스로 구현한 곳도 있고
아니면 AWS 로 lambda 로 엮어서 서버리스로 스케쥴 돌려도 됩니다.
활용 방법은 정말 많아요
'eCommerce' 카테고리의 다른 글
아마존 스카우트 (0) | 2019.08.19 |
---|---|
모바일웹사이트 성능측정 쇼핑몰 성능 무료측정 (0) | 2019.08.04 |
웹서비스 아키텍처 정리 (0) | 2019.08.04 |
웹개발용 오픈소스 web developer opensource (0) | 2019.08.04 |
쇼핑몰 로딩속도 개선 방법 (0) | 2019.08.04 |
eCommerce 이커머스 용어정리 (0) | 2019.08.04 |
이미지는 webp 로 서비스하자 (0) | 2019.07.31 |
사이트 보안 설정 측정 SSL/TLS (0) | 2019.07.31 |