SlideShare a Scribd company logo
1 of 107
Download to read offline
IMQA 개발팀
웹페이지 성능은
프론트 개발자만 잘 알면되지 않나요?
황영
목차
1. 성능과 성능 측정
2. Core Web Vitals
3. Largest Contentful Paint(LCP)
4. Cumulative Layout Shift(CLS)
5. First Input Delay(FID)
6. Interaction to Next Paint(INP)
성능(性能)
기계 따위가 지닌 성질이나 기능
성능 + 향상
APM
(Application Performance Monitoring)
Pinpoint
Scouter
APM(Application Performance Monitoring)
응답 시간
코드 오류
Slow Query
CPU
Memory
APM(Application Performance Management)
NEXACRO
(https://www.tobesoft.com/product/nexacro)
빠르게 페이지를 보여 주는 것
기기의 성능
컨텐츠의 로딩 순서
로딩 후의 상호 작용
If you can’t measure it,
You can’t manage it.
If you can’t measure it,
You can’t improve it.
Peter Drucker
무엇을 측정하여야 하나?
FID SI LCP CLS FCP
TTFB TTI TBT
많은 측정 항목 사용 시 문제
하나의 항목에서는 빠르나
다른 항목에서는 느릴수 있다.
많은 측정 항목 사용 시 문제
각 항목을 측정함에 있어
전문가가 되어야 한다.
많은 측정 항목 사용 시 문제
서로 다른 사이트들 간의
공통된 기준이 없다
Core Web Vitals
(CWV)
Loading
Response to
Interactions
Visual
Stability
Loading
(로딩속도)
Response to
Interactions
(사용자 응답성)
Visual
Stability
(시각적 안정성)
Core Web Vitals(CWV)
- 2020년 5월 8일 발표
- 모든 웹사이트에 적용가능한 웹바이탈의 집합
- 실제 사용자로 부터 수집된 정보를 사용
- 검색 랭킹 요소
- 2021.06.15 모바일 적용
- 2022.02.22 데스크탑 적용
Chrome User Experience Report(CrUX)
사용자의 실제 경험
28일간의 평균
0
2.5
5
7.5
10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
시간
0
2.5
5
7.5
10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
시간
75백분위
0
2.5
5
7.5
10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
시간
0
2.5
5
7.5
10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
시간
95백분위
Largest contentful Paint
(LCP)
Largest Contentful Paint(LCP)
Largest Contentful Paint(LCP)
Largest Contentful Paint(LCP)
Largest Contentful Paint(LCP)
Largest Contentful Paint(LCP)
Largest Contentful Paint(LCP)
임곗값
Good
Need
Improvement
Poor
2.5s 4s
Largest Contentful Paint(LCP)
1초 ‘즉각 응답’
Information Visualizer, an Information Workspace
Stuart K. Card , George G. Robertson , Jock D. Mackinlay
Largest Contentful Paint(LCP)
Largest Contentful Paint(LCP)
<img> 요소
<svg> 내의 <image> 요소
포스터 이미지가 있는 <video> 요소
CSS의 url() 함수를 통해 로드 된 배경이 있는 요소
text가 포함된 block 단위 요소
LCP 에서 Content로 고려하는 요소
LCP 에서 Contents 로 보지 않는 요소
불투명도가 0인 요소
전체 뷰포트를 덮는 요소
이동되거나 사이즈가 변경되는 요소
LCP의 최대 요소의 크기는 어떻게 결정되나?
Padding
Over
ow
300px
200px
(Original 400px)
(Original 300px)
LCP 개선 어떻게 하나?
LCP 개선 하기
LCP 개선 하기
리소스 로드 지연 개선
LCP 개선 하기
리소스 로드 지연 개선
LCP 개선 하기
리소스 로드 지연 개선
LCP 개선 하기
리소스 로드 지연 개선
<img fetchpriority="high" src="/light/0604/214.png"
LCP 개선 하기
리소스 로드 지연 개선
<link rel="preload" fetchpriority="high" as="image"
href="/light/0604/214.png" type="image/png">
LCP 개선 하기
리소스 로드 시간 단축
LCP 개선 하기
리소스 로드 시간 단축
리소스 압축 전(6ms)
리소스 압축 후(2ms)
LCP 개선 하기
렌더링 지연 개선
LCP 개선 하기
렌더링 지연 개선
LCP 개선 하기
렌더링 지연 개선
LCP 개선 하기
TTFB 개선하기
LCP 성능 개선 하기
Performance Navigation Timing
로딩 성능
로딩 성능
TTFB - 네트워크 요청시에 브라우저까지 도달하는 시간
로딩 성능
CDN
(Content Delivery Network)
로딩 성능
Caching
로딩 성능
Redirection 피하기
로딩 성능
103 early hint 사용
로딩 성능
103 early hint 사용
로딩 성능
103 early hint 사용
로딩 성능
Client Server
Cumulative Layout Shift
(CLS)
Cumulative Layout Shift(CLS)
임곗값
Cumulative Layout Shift(CLS)
Good
Need
Improvement
Poor
0.1 0.25
CLS는 어떻게 측정되는가?
기존 요소가 시작 위치를 변경 할때 발생
impacted fraction(영향 비율)과 distance fraction(거리 비율)의 곱으로 값을 산출
산출 된 값은 누적되어 합계
CLS는 어떻게 측정되는가?
Impacted Fraction(영향 비율)
50%
CLS는 어떻게 측정되는가?
Impacted Fraction(영향 비율)
50%
25%
50%
75% = 0.75
CLS는 어떻게 측정되는가?
Distance Fraction(거리 비율)
25%
25% = 0.25
CLS는 어떻게 측정되는가?
Layout Shift 값
Impacted * Distance
= 0.75 * 0.25
= 0.1875
CLS는 어떻게 측정되는가?
CLS 계산 시 무시되는 경우
요소의 시작 위치에 변화가 없는 경우
사용자 입력에 500ms 이내에 레이아웃 변경(hadRecentInput)
animation과 transition
CLS 저하 원인과 해결 방안
CLS의 일반 적인 원인과 해결 방안
CLS의 일반 적인 원인과 해결 방안
CLS의 일반 적인 원인과 해결 방안
CLS의 일반 적인 원인과 해결 방안
CLS의 일반 적인 원인과 해결 방안
CLS의 일반 적인 원인과 해결 방안
비율 설정
CLS의 일반 적인 원인과 해결 방안
First Input Delay
(FID)
First Input Delay(FID)
First Input Delay(FID)
First Input Delay(FID)
First Input Delay(FID)
First Input Delay(FID)
임곗값
Good
Need
Improvement
Poor
100ms 300ms
First Input Delay(FID)
The Perception of Causality
Michotte 1962
First Input Delay(FID)
50ms
First Input Delay(FID)
100ms
First Input Delay(FID)
200ms
Interaction to Next Paint(INP)
Interaction to Next Paint(INP)
임곗값
Good
Need
Improvement
Poor
200ms 400ms
Interaction to Next Paint(INP)
상호작용(Interaction)이란?
상호작용이란?
INP 가 수집 되지 못하는 경우
사용자의 이벤트가 없는 경우
클릭, 탭, 키보드와 무관한 동작(hover, scroll)
상호 작용의 최적
Body text (36pt)
상호작용의 최적화
상호작용의 최적화
상호작용의 최적화
상호작용의 최적화
https://imqa.io support@imqa.io
Copyright © 2023 by ONYCOM Inc. All Rights Reserved.
본 문서는 어니컴(주)이 발행하는 문서이며 저작권법에 의해 보호를 받는 저작물입니다.
원문 출처를 표기하는 조건 하에 원문 그대로 공유 가능하며, 수정 및 영리 사용은 금지됩니다.
young@onycom.com
감사합니다

More Related Content

Similar to DEVKON_202312_웹페이지 성능 프론트 개발자만 잘알면되지 않나요v.01.pdf

소프트웨어공학 프로젝트 최종발표.pptx
소프트웨어공학 프로젝트 최종발표.pptx소프트웨어공학 프로젝트 최종발표.pptx
소프트웨어공학 프로젝트 최종발표.pptxGwangho Kim
 
A.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxA.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxssuser0e717a
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법YoungSu Son
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계Wonjun Hwang
 
권기훈_개인포트폴리오
권기훈_개인포트폴리오권기훈_개인포트폴리오
권기훈_개인포트폴리오Kihoon4
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012devCAT Studio, NEXON
 
ALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsTaeyoung Kim
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3uEngine Solutions
 
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdfDeukJin Jeon
 
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
법안 검색 시스템 PPT
법안 검색 시스템 PPT법안 검색 시스템 PPT
법안 검색 시스템 PPTGwangho Kim
 
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
 
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 [NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 YoungSu Son
 
Celery의 빛과 그림자
Celery의 빛과 그림자Celery의 빛과 그림자
Celery의 빛과 그림자Minyoung Jeong
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규ChangKyu Song
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSAVMware Tanzu Korea
 

Similar to DEVKON_202312_웹페이지 성능 프론트 개발자만 잘알면되지 않나요v.01.pdf (20)

Opensource apm scouter in practice
Opensource apm scouter in practiceOpensource apm scouter in practice
Opensource apm scouter in practice
 
소프트웨어공학 프로젝트 최종발표.pptx
소프트웨어공학 프로젝트 최종발표.pptx소프트웨어공학 프로젝트 최종발표.pptx
소프트웨어공학 프로젝트 최종발표.pptx
 
Codex project
Codex projectCodex project
Codex project
 
A.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptxA.I.S팀_산학프로젝트챌린지 (2).pptx
A.I.S팀_산학프로젝트챌린지 (2).pptx
 
Scalable webservice
Scalable webserviceScalable webservice
Scalable webservice
 
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법안드로이드 Oreo의 변화와  모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
 
권기훈_개인포트폴리오
권기훈_개인포트폴리오권기훈_개인포트폴리오
권기훈_개인포트폴리오
 
Place site Design
Place site DesignPlace site Design
Place site Design
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
 
ALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOps
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
 
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
[온라인 교육시리즈] Pinpoint Cloud로 시작하는 어플리케이션 성능 모니터링 - 김민형 클라우드 솔루션 아키텍트
 
법안 검색 시스템 PPT
법안 검색 시스템 PPT법안 검색 시스템 PPT
법안 검색 시스템 PPT
 
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
 
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법 [NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법
 
Celery의 빛과 그림자
Celery의 빛과 그림자Celery의 빛과 그림자
Celery의 빛과 그림자
 
[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규[NDC08] 최적화와 프로파일링 - 송창규
[NDC08] 최적화와 프로파일링 - 송창규
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
 

DEVKON_202312_웹페이지 성능 프론트 개발자만 잘알면되지 않나요v.01.pdf