p.19 환경 재분류
사용자 환경 - 프런트엔드
- 사용자가 브라우저를 사용하여 보는 화면 자체
- HTML로 웹 페이지 내용을 구현, javascript로 웹 페이지 로직 담당, css로 UI 레이아웃 구성
- DB 조회 값, 이미지, 동영상 등도 프런트엔드 요소에 포함
- 빠르고 보기 쉽게 콘텐츠를 전달하는 것이 목적
공급자 환경 - 백엔드
- 사용자에게 보이는 프런트엔드 콘텐츠를 생산하고 저장하여 네트워크를 통해 전달
- 프런트엔드가 최적화되어 있는데도 웹 성능이 좋지 않다면 백엔드 최적화가 필요
- 트래픽 증가로 인한 성능 저하
- 서버 처리량, 네트워크 스위치 처리량, 처리 속도 점검
- 슬로우 쿼리 발생
- 데이터베이스 정규화, 오래된 데이터 백업 후 삭제, 디스크 메모리 대신 SSD같은 빠른 저장장치 사용
전달 환경 - 네트워크
- 일반적으로 대역폭(bandwidth)와 지연시간(latency)에 의해 성능 결정
- ISP(Internet Service Provider) 품질에 따라 대역폭과 지연시간도 달라질 수 있음
A-F
등급으로 최적화 정도 평가Steve Souders의 웹 성능 최적화 기법을 중요도 순으로 나열하면 아래와 같다.
백엔드
프런트엔드
네트워크
- 메인 페이지의 모든 오브젝트 파일 크기는 10MB를 넘지 않도록 한다.
- 모든 웹 페이지의 각 페이지 내 포함된 자바스크립트 크기가 1MB를 넘지 않아야 한다.
- LTE 환경에서 모바일 기기의 Time to Interactive는 5초 미만이여야 한다.
스마트폰 사용자가 LTE 환경에서 로딩하는 시간이 5초 미만일 것
출처