Lighthouse는 다양한 지표를 이용하여 웹페이지의 성능 검사를 해줄 뿐만 아니라 그에 대한 개선책도 제공해준다!
Lighthouse는 구글에서 개발한 오픈소스로서 웹페이지 품질을 개선할 수 있는 자동화툴이며 성능, 접근성 ,PWA,SEO 등을 검사하며 이를 이용해 사용자는 어떤 웹페이지든 품질 검사를 할 수 있다!
Lighthouse는 크롬 개발자 도구는 물론 CLI, 노드 모듈 등 다양한 경로를 통해 사용할 수 있다.
검사할 페이지의 url을 Lighthouse에 전달해주면 해당 페이지에 대한 여러 검사를 실행하여 검사결과에 따른 리포트를 생성해준다!
Lighthouse를 써보기 위헤 알고리즘 공부를 위해 최근에 강의를 구입했던 유데미 홈페이지를 성능 측정해보았다.
Lighthouse의 분석 결과 항목 중 하나인 Performance는 웹 성능을 측정한다!
Lighthouse를 직접 사용해보면서 Performance의 Opportunities 항목에는 어떤 것들이 있는지 확인해보고, 각 항목마다 어떤 해결 방법이 있는지 구글링하며 블로깅 해주세요. 블로깅한 내용은 실시간 세션에서 소그룹으로 모여서 공유하게 됩니다.
Lighthouse는 성능을 측정할 뿐 아니라 무엇이 시간을 많이 소모하는지, 어떻게 개선하여 최적화를 할 수 있을지 해결책도 제시해준다!
Lighthouse에서 유데미 홈페이지에서 performance는 보통이 나왔다.
모바일에 비해 홈페이지가 성능이나 접근성이 매우 좋게 나왔다.
performance의 메트릭을 확인해보니 렌더링 시간이 꽤 빠른편인지 초록색, 노란색으로 나왔다.
Opportunities는 총 3개로 나왔는데
1. 초기 서버 응답 시간 단축 (Reduce initial server response time)
-> 웹사이트 성능 향상을 처리할 때 프론트 엔드 최적화 조정의 일부
서버 응답 시간이 뭘까??
-> 서버 응답 시간은 브라우저에서 페이지를 요청하는 클라이언트 와 해당 요청에 응답하는 서버 사이에 경과하는 시간이고 TTFB (Time to First Byte)로 측정된다.
-> TTFB는 HTTP 요청을 보낸 후 페이지의 첫 번째 바이트를 수신하는 데 걸리는 시간(밀리초)이다.
TTFB를 개선하기 위해서는??
-> 안정적이고 빠른 웹 호스팅을 사용해야하고 CDN(콘텐츠 전송 네트워크)를 사용하는 것이 좋다.
-> 데이터 베이스를 최적화 시키면 좋다.
React.lazy()
(으)로 자바스크립트 번들을 분할해보자.크롬 개발자도구에 이런 도구가 있는지 전혀 몰랐고 크롬을 이용하는 유저라면 별다른 설치 없이도 개발자 도구로 바로 성능 체크를 할 수 있어서 정말 편했다.
나중에 내가 홈페이지나 어플을 개발한다면 크롬으로 간단하게 성능 체크 뿐만 아니라 어떻게 개선해서 최적화를 해야할지 그 해결책도 제시해줘서 개선 방향을 쉽게 잡을 수 있을 것 같다.