aws로 안정적인 인프라 만들기 1

1. 화면 응답 개선하기

대상 사이트

해야하는 일

  1. repository 변경하여 서버 띄우기 - 완료

  2. 화면 응답 개선하기

  3. 부하 테스트 진행하기

  4. 스케일 아웃 진행하기

웹 성능 예산 짜기 + 서버의 목표 응답시간

1. 웹 성능 예산 작성하기

* 경쟁사 관련 자료

  • 아래 자료를 참고하여 웹 성능 예산, 부하테스트 목푯값 등을 설계해보세요.

* 경쟁사

* 언론보도

경쟁사와 비교하기 - 모바일 기준

항목런닝맵카카오네이버서울교통공사

리소스 크기(MB)

3.1

4.5

2.5

1.4

Dom Content Loaded(ms)

878

138

200

1270

페이지 로드(ms)

890

172

237

1400

성능 종합 점수

34

70

54

47

FCP(초)

14.8

1.7

2.2

6.7

TTI(초)

15.3

4.8

6.2

8.3

Speed Index

14.8

6.6

6.4

9.4

TBT(밀리초)

480

90

410

240

LCP(초)

15.3

5.5

7.6

7.3

CLS

0.042

0.005

0.03

0

Security Score

E

F

F

F

First Byte

A

A

A

F

Keep-alive

A

B

A

A

Compress Transfer

F

A

A

F

Compress Images

A

A

A

A

Cache static content

D

F

F

F

CDN

X

X

X

X

WebPageTest 결과

PageSpeed 결과

항목별 설명

  • First Byte Time : 웹 서버에서 받은 컨텐츠의 첫 번째 바이트가 얼마만에 도착했는가?

  • Keep-Alive Enabled : TCP 연결을 재사용하기 위한 Keep-Alive 설정이 되어 있는가?

  • Compress Transfer : 스크립트 파일이 Content-Encoding으로 압축되어 있는가?

  • Compress Image : 이미지를 압축했는가?

  • Cache Static Content : 정적 파일이 캐싱 설정이 되어 있는가?

개선 체크리스트

웹 성능 예산 설정하기

  1. pagespeed 테스트 결과 Lighthouse 종합 성능 점수를 50점 이상으로 한다. 현재는 34점이다.

  2. LTE 환경에서의 모바일 기기의 First Contentful Paint(FCP)는 3초 이하이어야 한다. 현재는 14.8초이다.

  3. LTE 환경에서의 모바일 기기의 Time to Interactive(TTI)는 7.3초 이하이어야 한다. 현재는 15.3초이다.

  4. 메인 페이지의 리소스 크기는 2.8MB 이하으로 제한한다. 현재는 3.1MB이다.

gzip 압축을 이용하여 이미지 및 텍스트 압축

적용 전

적용 후

성능 개선 결과

  • Compress Transfer 지표가 F -> A 로 눈에 띄게 향상되었다.

  • 성능 종합지수가 34 -> 46으로 크게 향상되었다.

  • FCP, TTI, Speed Index, TBT, LCP, CLS 등 모든 지표가 눈에 띄게 향상되었다.

참고

정적 파일들에 대해 cache 적용

적용 전

적용 후 최초 로드 : Cache MISS

적용 후 2번째 이후 로드 : HIT

TLS, HTTP 2.0 설정하여 웹 프로토콜 최적화

적용 전

적용 후

정적 파일을 경량화하여 패킷의 크기 자체를 줄임

최초 상태

gzip + cache + HTTP2.0 까지 적용한 뒤

정적파일 경량화 이후 - javascript async 속성 추가

성능개선결과

  • DOM content 로딩 시간이 거의 10분의 1 수준으로 줄어들었다.

성능 개선 종합 결과

내용\항목성능 점수(점)FCP(초)TTI(초)리소스 크기(MB)

목표치

50 이상

3 이하

7.3 이하

2.8 이하

개선 전

34

14.8

15.3

3.1

gzip 압축 이후

46

5.4

6.0

3.1

cache 적용 이후

43

5.4

6.1

3.1

HTTP 2.0 적용 이후

43

5.5

6.2

2.8

정적파일 경량화 이후

47

2.5

5.9

2.8

예산 내 목표 달성 여부

미달성

달성

달성

달성

Last updated