프론트엔드 성능 최적화를 시작할 때 가장 먼저 확인할 지표와 병목을 정리합니다. LCP, INP, CLS, 번들 크기, 이미지 최적화 우선순위를 설명합니다.
-cropped.png&w=3840&q=75)
알레오 개발자 이야기팀
Jul 16, 2026 · 11분 읽기

요약: 프론트엔드 성능 최적화는 복잡한 기법보다 우선순위 설정이 중요합니다. 먼저 LCP, INP, CLS 같은 핵심 웹 지표를 확인하고, 실제 병목으로 자주 이어지는 이미지 용량, 초기 번들 크기, 첫 화면 렌더링 지연을 점검해야 합니다. 이후 React 렌더링 구조, 모바일 체감 속도, 배포 전 체크리스트까지 연결하면 성능을 일회성이 아니라 지속적으로 관리할 수 있습니다.
프론트엔드 성능 최적화는 모든 지표를 동시에 건드리는 작업이 아닙니다. 먼저 사용자가 어디에서 느리다고 느끼는지 확인해야 합니다. 실무에서는 다음 세 가지가 가장 먼저 문제로 드러나는 경우가 많습니다.
이 세 구간을 가장 잘 보여주는 기준이 핵심 웹 지표입니다.
LCP는 사용자가 첫 화면의 주요 콘텐츠를 언제 볼 수 있는지 보여주는 지표입니다. 첫 인상이 느린지 판단할 때 가장 먼저 확인할 만한 기준입니다.
인터뷰 답변 기준으로, 실제 한 프로젝트에서는 LCP가 4초를 넘으면서 첫 화면 체감 속도가 느리게 나타났습니다. 이 구간을 우선 개선한 뒤 이탈률도 함께 낮아졌습니다.
INP는 클릭, 탭, 입력 같은 상호작용에 화면이 얼마나 빠르게 반응하는지 보는 지표입니다. 사용자는 버튼을 눌렀는데 바로 반응이 없을 때 성능 저하를 크게 느낍니다. 특히 모바일에서는 같은 지연도 더 크게 체감될 수 있습니다.
CLS는 화면이 로딩되는 과정에서 요소가 얼마나 흔들리는지 측정합니다. 첫 화면이 늦지 않아도 배너, 이미지, 폰트 때문에 레이아웃이 밀리면 사용성은 떨어질 수 있습니다.
성능 점수는 참고 자료로 유용합니다. 다만 점수가 높다고 사용자가 반드시 빠르게 느끼는 것은 아닙니다. 특정 기기, 모바일 네트워크, 실제 사용 흐름에서는 다른 결과가 나올 수 있습니다.
따라서 우선순위는 다음 순서가 적절합니다.

실무에서는 첫 화면에 큰 이미지를 여러 장 배치하는 경우가 자주 있습니다. 이 경우 네트워크 전송 시간과 렌더링 지연이 함께 발생해 LCP가 나빠지기 쉽습니다.
우선 점검할 항목은 다음과 같습니다.
이미지 최적화는 비교적 빠르게 개선 효과를 확인할 수 있는 항목입니다. 큰 이미지를 적절한 포맷으로 바꾸는 것만으로도 체감 속도가 달라질 수 있습니다.
처음부터 필요하지 않은 자바스크립트까지 한 번에 불러오면 첫 화면이 늦게 뜨고 상호작용도 지연될 수 있습니다. 사용자는 이를 "페이지가 늦게 뜬다", "버튼 반응이 답답하다"는 식으로 느끼는 경우가 많습니다.
초기 번들 점검 시 확인할 항목은 다음과 같습니다.
초기 로딩 최적화에서는 첫 화면에 필요 없는 자바스크립트를 줄이는 작업이 우선입니다. 이 단계는 LCP와 INP 모두에 영향을 줄 수 있습니다.
점검 순서는 다음과 같이 잡을 수 있습니다.
이미지는 첫 화면에서 가장 큰 리소스가 되기 쉽습니다. 따라서 다음 기준으로 정리하는 것이 효율적입니다.
프로젝트에 따라 웹폰트 로딩 방식도 첫 화면 체감 속도에 영향을 줍니다. 폰트가 늦게 적용되면 텍스트 표시가 지연되거나 레이아웃 안정성이 흔들릴 수 있습니다. 따라서 이미지와 번들만 본 뒤 끝내지 말고 폰트 로딩 방식도 함께 확인하는 편이 좋습니다.

사용자는 보통 첫 화면이 늦게 뜰 때 가장 먼저 느리다고 판단합니다. 기술적으로는 여러 원인이 섞여 있을 수 있지만, 사용자 경험 관점에서는 "언제 보이느냐"가 핵심입니다.
검색 결과가 늦게 나타나거나 버튼을 눌렀는데 즉시 반응이 없으면, 사용자는 서비스 전체가 느리다고 받아들일 수 있습니다. 이 지점은 INP와 실제 렌더링 병목을 함께 봐야 합니다.
모바일 환경은 네트워크, CPU 성능, 메모리 여유가 데스크톱보다 불리한 경우가 많습니다. 따라서 데스크톱에서 큰 문제가 없어 보여도 모바일에서는 사용성 저하가 분명하게 드러날 수 있습니다.
성능 문제를 서버 속도로 오해하는 경우가 있습니다. 하지만 실제 병목이 프론트엔드 렌더링 구조에 있는 경우도 많습니다.
인터뷰 사례에서는 React 프로젝트에서 상태가 한곳에 과하게 몰려 있어 작은 변경에도 화면 전체가 다시 렌더링되는 문제가 있었습니다. 처음에는 서버 문제로 보였지만, 프로파일링 결과 불필요한 렌더링이 더 큰 원인으로 확인됐습니다.
이런 경우에는 다음 순서로 보는 것이 실용적입니다.
이 사례에서는 컴포넌트 분리와 메모이제이션 적용 후 반응 속도가 개선됐습니다. 핵심은 추측이 아니라 프로파일링으로 원인을 확인하는 것입니다.
성능 개선 전후 비교는 측정 조건이 같아야 의미가 있습니다. 인터뷰 답변에서도 같은 페이지, 같은 네트워크 조건, 같은 핵심 지표로 비교한다고 설명했습니다. 이 기준은 실무에서 신뢰도를 높이는 기본 조건입니다.
비교 체크리스트는 다음과 같습니다.
수치만 좋아졌다고 충분하지는 않습니다. 실제 사용자 행동 변화가 함께 확인되면 개선 효과를 더 분명하게 설명할 수 있습니다.
인터뷰 사례에서는 초기 로딩 개선 후 LCP가 4.2초에서 2.3초로 개선됐고, 모바일 이탈률도 함께 낮아졌습니다. 이런 방식은 기술 지표와 비즈니스 지표를 연결해 설명할 수 있다는 장점이 있습니다.

가장 흔한 오해는 Lighthouse 점수만 높으면 충분하다고 보는 것입니다. 점수는 참고 지표입니다. 하지만 실제 사용 환경에서는 특정 흐름에서 여전히 느릴 수 있습니다.
처음부터 고급 최적화 기법을 모두 적용하려 하면 오히려 우선순위를 놓치기 쉽습니다. 먼저 확인해야 할 것은 다음 세 가지입니다.
이 세 항목은 초기에 체감 성능을 바꾸는 데 직접적인 영향을 주는 경우가 많습니다.
성능은 한 번 개선하고 끝나는 작업이 아닙니다. 기능이 늘어나면 다시 느려질 수 있습니다. 따라서 개발 과정 안에 점검 기준을 넣어야 합니다.
실무 기준으로는 다음 항목이 유용합니다.
이런 기준이 있어야 기능이 늘어나도 성능이 급격히 무너지지 않습니다.
프론트엔드 성능 최적화에서 가장 먼저 점검할 핵심 요소는 명확합니다. 우선 LCP, INP, CLS로 사용자가 실제로 기다리는 구간을 확인합니다. 그다음 이미지 용량, 초기 번들 크기, 첫 화면 렌더링 지연을 점검합니다. React 같은 프레임워크 환경에서는 불필요한 렌더링도 빠르게 확인해야 합니다.
중요한 점은 점수보다 사용자 체감 구간을 먼저 보는 것입니다. 또한 개선 효과는 같은 조건에서 측정하고, 가능하면 이탈률 같은 사용자 행동 변화와 함께 비교해야 합니다. 처음 시작하는 경우라면 무거운 이미지, 큰 자바스크립트 파일, 느린 첫 화면 이 세 가지부터 점검하는 접근이 가장 실용적입니다.
먼저 지표를 보는 편이 효율적입니다. LCP, INP, CLS를 확인하면 사용자가 실제로 불편을 겪는 구간을 빠르게 찾을 수 있습니다. 그다음 해당 지표를 악화시키는 코드, 이미지, 번들 구조를 추적하는 순서가 적절합니다.
첫 화면에서 더 큰 영향을 주는 항목부터 우선 처리하면 됩니다. 실무에서는 이미지 용량과 초기 번들 크기 둘 다 자주 문제였기 때문에, 첫 화면 기준으로 어느 쪽 비중이 큰지 먼저 확인하는 방식이 현실적입니다.
항상 그렇지는 않습니다. 상태가 한곳에 몰려 있거나 불필요한 렌더링이 많으면 프론트엔드 자체가 병목이 될 수 있습니다. 이 경우에는 추측보다 프로파일링으로 렌더링 원인을 확인하는 것이 우선입니다.