Chrome DevTools Performance 패널

Performance 패널은 페이지 로드와 실행을 기록하고, 플레임 차트를 읽고, LCP 요소를 찾고, Core Web Vitals 문제를 진단하는 Chrome DevTools 내장 로컬 프로파일러입니다. 로컬 트레이스 옆에 실제 사용자 CrUX 필드 데이터를 선택적으로 표시할 수도 있습니다. 도구의 역할과 읽는 방법, Googlebot이 보는 것과 다른 이유를 설명합니다.

최초 게시: 2026년 7월 3일 · 최근 업데이트: 2026년 8월 9일 · Advanced
언어

Chrome DevTools Performance 패널은 Chrome과 Chromium 기반 Edge에 내장된 로컬 프로파일러입니다. 트레이스를 기록해 메인 스레드 작업의 플레임 차트, FPS/CPU 타임라인, 네트워크 워터폴, 필름스트립, 2023~2024년 재설계 후의 실시간 Core Web Vitals 보기와 Insights 사이드바(LCP 단계 분석, 렌더링 차단 요청, 강제 리플로, 서드파티 비용)에서 페이지 로드와 실행의 원시 세부 정보를 읽습니다. Lighthouse/PageSpeed Insights가 페이지에 점수를 매기고 수정 목록을 주는 반면 Performance 패널은 직접 살펴볼 트레이스를 제공합니다. 세 가지를 정확히 알아야 합니다. 기록된 트레이스는 Googlebot의 Web Rendering Service가 아니라 로컬 브라우저의 동작이고, 트레이스는 실험실 근거이지만 실제 사용자 CrUX 필드 데이터를 함께 표시할 수 있어도 둘은 같은 측정이 아니며, 독립형 Performance Insights 패널은 Chrome 132에서 제거되고 기능이 기본 패널의 Insights 탭에 통합됐습니다. SEO에서는 정확한 LCP 요소와 렌더링 차단 서드파티를 찾는 가장 빠른 내장 방법입니다.

Evidence for this claim Chrome DevTools Performance panel records runtime and loading activity for local performance analysis. Scope: Chrome DevTools lab profiling on the tester's device. Confidence: high · Verified: Chrome DevTools: Performance features Evidence for this claim The Performance panel includes insights and timeline views for diagnosing rendering, layout, network, and main-thread work. Scope: Current Chrome DevTools UI; labels and panels can change by Chrome version. Confidence: high · Verified: Chrome DevTools: Analyze runtime performance

요약 — Performance 패널은 Chrome DevTools에 내장된 로컬 프로파일러입니다. 열면 실시간 로컬 LCP/CLS를 보여 주고, 상호작용하면 INP도 표시합니다. 프로파일링 시작 및 페이지 새로고침을 누르고 스크린샷을 켜면 전체 로드를 기록할 수 있습니다. 메인 스레드 작업의 플레임 차트, FPS/CPU 타임라인, 네트워크 워터폴, 분석 탭(Bottom-up, Call Tree, Event Log)을 읽을 수 있고, Insights 사이드바에서는 LCP를 네 가지 하위 부분으로 나누며 렌더링 차단 요청, 강제 리플로, 서드파티 비용을 지적합니다. 정확한 LCP 요소를 찾는 가장 빠른 내장 방법입니다. 세 가지는 분명히 구분해야 합니다. 첫째, Googlebot의 Web Rendering Service가 아니라 브라우저를 프로파일링합니다. 둘째, 기록된 트레이스는 실험실 근거이며, 패널이 선택적으로 실제 사용자 CrUX 필드 데이터를 함께 보여 줄 수 있어도 그 필드 오버레이는 로컬 트레이스와 같은 측정이 아닙니다. 셋째, 예전의 독립형 Performance Insights 패널은 Chrome 132에서 제거됐으며 그 기능은 현재 이 패널의 Insights 탭에 있습니다. 스로틀링 배수는 절대 벤치마크가 아니라 내 컴퓨터를 기준으로 합니다.

Performance 패널의 정확한 역할

Google의 설명은 명확합니다. “Use the Performance panel to analyze your website’s performance” (번역) “Performance 패널을 사용해 웹사이트 성능을 분석하세요”, “The Performance panel lets you record CPU performance profiles of your web applications” (번역) “Performance 패널에서는 웹 애플리케이션의 CPU 성능 프로필을 기록할 수 있습니다”(Chrome DevTools 문서). 프로파일러이므로 일정 시간 동안 브라우저가 수행한 모든 작업의 트레이스를 기록한 뒤 살펴봅니다.

사람들이 이 도구들을 계속 혼동하므로 먼저 유사 도구와의 차이를 정리할 가치가 있습니다.

  • Lighthouse / PageSpeed Insights는 자동 감사를 실행해 점수와 우선순위가 있는 권장사항을 제공합니다(PSI는 실제 CrUX 필드 데이터도 추가). 점수형, 자동형, 판단이 반영된 도구입니다.
  • **WebPageTest**는 원격 실제 기기에서 페이지를 실행하고, 기록과 공유가 가능한 결과를 남기며, 다단계 스크립팅을 지원합니다. 원격이고 공유 가능하며 철저합니다.
  • Performance 패널내 로컬 브라우저의 원시 대화형 트레이스를 제공합니다. 점수, 계정, 원격 컴퓨터가 없습니다. 더 깊고 유연하지만 해석은 직접 해야 합니다.

기록된 트레이스 자체는 그 순간의 브라우저, 기기, 네트워크 하나를 포착한 로컬 실험실 근거입니다. 하지만 이를 둘러싼 패널은 순수 실험실 도구만은 아닙니다. 재설계 후에는 실제 사용자의 CrUX 필드 지표도 로컬 결과 옆에 선택적으로 표시할 수 있습니다. 로컬 실험실, 원격 실험실, 실제 사용자 필드를 구분하세요. 이 구분은 웹 성능 도구 클러스터 전체의 중심이며 아래 오해의 핵심입니다.

간단한 역사: 지금 보고 있는 패널을 구분하기 위해

이 패널은 오래전부터 있었습니다. Chrome DevTools 팀의 Elizabeth Sweeny와 Paul Irish는 “The Performance panel in Chrome DevTools has been helping developers measure and optimize their runtime performance in one form or another for the better part of 15 years,” (번역) “Chrome DevTools의 Performance 패널은 어떤 형태로든 거의 15년 동안 개발자가 런타임 성능을 측정하고 최적화하는 데 도움을 줬습니다”, “Starting with a panel called ‘Timeline’, it evolved to the Performance panel you know today” (번역) *“‘Timeline’이라는 패널에서 시작해 오늘날 여러분이 아는 Performance 패널로 발전했습니다”*라고 설명합니다(2024년 이후의 성능 도구). 그 과정에서 “Lighthouse was launched in 2016 to help spot optimization opportunities more easily,” (번역) “최적화 기회를 더 쉽게 찾도록 돕기 위해 2016년에 Lighthouse가 출시됐고”, “The experimental Performance Insights panel was released in 2022 to test new ways of surfacing performance insights.” (번역) “성능 인사이트를 표시하는 새로운 방법을 시험하기 위해 2022년에 실험적인 Performance Insights 패널이 출시됐습니다.”

마지막 내용은 최신성을 판단하는 데 중요합니다. 독립형 Performance Insights 패널은 실험이었고 지금은 사라졌습니다. Google의 안내에는 “The Performance insights panel is deprecated and removed from DevTools starting with Chrome version 132. We recommend you use the Performance > Insights tab instead” (번역) *“Performance Insights 패널은 지원 중단됐으며 Chrome 버전 132부터 DevTools에서 제거됐습니다. 대신 Performance > Insights 탭을 사용하는 것이 좋습니다”*라고 명시돼 있습니다(지원 중단 안내). 별도의 “Performance Insights” 패널을 보여 주는 튜토리얼이나 스크린샷은 Chrome 132 이전의 오래된 자료입니다. 인사이트는 이제 일반 Performance 패널 안의 사이드바에 있습니다.

패널 열기와 실시간 지표 화면

DevTools를 열고 상단 탭에서 Performance를 선택하세요. Google의 설명처럼 “When you open the Performance panel, it immediately captures and shows you your local Largest Contentful Paint (LCP) and Cumulative Layout Shift (CLS) metrics,” (번역) “Performance 패널을 열면 로컬 Largest Contentful Paint(LCP) 및 Cumulative Layout Shift(CLS) 지표를 즉시 캡처해서 보여 줍니다”, “If you interact with your page, the Performance panel also captures your local Interaction to Next Paint (INP)” (번역) “페이지에서 상호작용하면 Performance 패널은 로컬 Interaction to Next Paint(INP)도 캡처합니다”(개요 문서). 이 시작 화면은 Rick Viscomi가 “a completely redesigned Performance panel landing page featuring a live view of your local Core Web Vitals performance” (번역) *“로컬 Core Web Vitals 성능의 실시간 보기를 제공하도록 완전히 재설계한 Performance 패널 시작 페이지”*라고 설명한 재설계의 일부입니다(DevTools에서 로컬 및 실제 사용자 Core Web Vitals 모니터링). 따라서 아무것도 기록하기 전에 이미 로컬 Core Web Vitals 전체를 볼 수 있습니다.

트레이스 기록: 런타임과 로드

두 가지를 기록할 수 있으며 그 차이가 중요합니다.

  • 런타임 성능 — 페이지가 이미 로드됐고 실행 의 동작(애니메이션, 느린 상호작용, 스크롤 끊김)을 프로파일링하려는 경우입니다. Google은 “Runtime performance is how your page performs when it is running, as opposed to loading” (번역) *“런타임 성능은 로드될 때가 아니라 페이지가 실행 중일 때의 성능입니다”*라고 설명합니다(런타임 성능 분석).
  • 로드 성능 — 새로운 탐색부터 전체 과정을 보려는 경우입니다. 프로파일링 시작 및 페이지 새로고침을 클릭하세요. 먼저 스크린샷을 켜면 시각 프레임의 필름스트립을 트레이스와 함께 볼 수 있습니다.

LCP, 레이아웃 이동, 렌더링 차단 스크립트 같은 SEO 작업에는 거의 항상 스크린샷을 켠 로드 기록을 사용합니다.

트레이스에는 기록 창 안에서 일어난 일만 포함됩니다. 창 밖의 상호작용이나 나중에 실행되는 지연 로드 작업처럼 캡처하지 않은 것은 존재하지 않는 것이 아니라 관찰하지 못한 것입니다. 나 또는 다른 사람이 나중에 재현하거나 비교할 트레이스를 원한다면 다음을 기록해 두세요. Chrome 버전과 날짜(라벨, 단축키, 정확한 UI는 릴리스마다 달라짐), 스크린샷 사용 여부, CPU/네트워크 스로틀링 설정, 고급 페인트/CSS 계측 및 JavaScript 샘플링 옵션을 기본값으로 뒀는지 여부입니다. 각각은 세부 정보와 오버헤드를 추가하므로 설정이 다른 트레이스끼리는 직접 비교할 수 없습니다.

트레이스 읽기

기록에는 여러 트랙이 층층이 표시됩니다. 주요 항목은 다음과 같습니다.

  • 플레임 차트/Main 트랙. 핵심 영역입니다. Google은 “DevTools shows you a flame chart of activity on the main thread, over time. The x-axis represents the recording, over time,” (번역) “DevTools는 시간에 따른 메인 스레드 활동의 플레임 차트를 보여 줍니다. x축은 시간에 따른 기록을 나타냅니다”, “Use the Main track to view activity that occurred on the page’s main thread” (번역) *“Main 트랙을 사용해 페이지의 메인 스레드에서 발생한 활동을 봅니다”*라고 설명합니다(기능 참조). 시간은 왼쪽에서 오른쪽으로 흐르고 각 시점 아래에 쌓인 막대가 호출 스택입니다. 막대가 넓을수록 작업 실행 시간이 깁니다. 시간이 어디에 쓰였는지 알 수 있습니다. 중첩은 무엇이 무엇을 언제 호출했는지 보여 주는 트레이스 구조이지만, 상위 작업이 더 넓은 사용자 경험 문제를 일으켰다는 증거 자체는 아닙니다. 가설의 출발점으로 삼고 확인하세요.
  • FPS 차트. 끊김을 빠르게 파악합니다. Google은 “Whenever you see a red bar above FPS, it means that the framerate dropped so low that it’s probably harming the user experience” (번역) *“FPS 위에 빨간 막대가 보이면 프레임 속도가 너무 낮아 사용자 경험을 해칠 가능성이 있다는 뜻입니다”*라고 설명합니다(런타임 문서). 목표는 매끄러운 60 FPS이며 빨간 막대는 거친 구간을 표시합니다.
  • CPU 차트는 기록 중 메인 스레드가 얼마나 바빴는지 보여 줍니다.
  • Network 트랙은 모든 요청의 워터폴로, 무엇이 언제 어떤 순서로 로드됐는지 보여 줍니다. 렌더링 차단 리소스도 여기 나타납니다.
  • Timings 트랙은 앱에서 발생시키는 사용자 지정 performance.mark() 측정을 보여 줍니다.
In the Network track, read left to right and separate requests on the blocking path from requests that merely overlap it. 출처: Render-Blocking Resources

The illustrative trace contains HTML from 0 to 180 milliseconds, blocking CSS from 110 to 390 milliseconds, synchronous JavaScript from 190 to 540 milliseconds, an asynchronous analytics request from 230 to 470 milliseconds, and a font from 390 to 560 milliseconds. First paint occurs at 560 milliseconds. This is a teaching example, not a captured trace.

© Patrick Stox LLC · CC BY 4.0 ·

플레임 차트 아래의 세 분석 탭은 같은 데이터를 서로 다른 방식으로 나눕니다.

  • Bottom-up“Bottom-up 탭을 사용해 합계 기준으로 직접 가장 많은 시간을 차지한 활동을 봅니다.” “어떤 단일 함수가 시간을 잡아먹는가?”에 가장 적합합니다.
  • Call Tree“Call Tree 탭을 사용해 가장 많은 작업을 일으킨 루트 활동을 봅니다.” “어떤 최상위 작업이 이 모든 것을 시작했는가?”에 가장 적합합니다.
  • Event Log — 같은 이벤트를 시간순으로 표시합니다.

Insights 사이드바

진단 측면에서 재설계의 가장 유용한 추가 기능은 제거된 독립형 Performance Insights 패널의 후속인 Insights 사이드바입니다. 플레임 차트를 직접 뒤지지 않아도 이름이 붙은 구체적인 문제를 표시합니다. SEO에 가장 중요한 항목은 다음과 같습니다.

  • LCP 분석. Google은 LCP를 첫 바이트까지의 시간, 리소스 로드 지연, 리소스 로드 시간, 요소 렌더링 지연이라는 네 가지 하위 부분으로 나눕니다(LCP 분석 인사이트). 단순히 느리다는 사실이 아니라 느린지(서버, 늦게 로드되는 이미지, 렌더링 차단 등) 알려 줍니다.
  • 렌더링 차단 요청 — 첫 페인트를 지연시킨 CSS/JS입니다(렌더링 차단 인사이트).
  • 강제 리플로 — 브라우저가 레이아웃을 다시 계산하기 위해 스크립트를 멈춰야 했던 지점입니다.
  • 서드파티 비용 — 임베드, 태그, 위젯이 유발한 비용입니다.

이 항목들이 자동으로 표시되므로 Insights 사이드바는 Performance 패널에서 Lighthouse의 “수정할 사항” 경험에 가장 가까운 기능입니다. 동시에 각 인사이트 뒤의 원시 트레이스까지 내려갈 수 있습니다.

각 인사이트를 증거가 아니라 안내된 가설로 다루세요. 잠재적 문제를 식별하고 관련 트레이스 맥락으로 연결하지만, 항목에 표시가 붙었다고 해서 그것이 원하는 결과의 원인이거나 수정하면 해결된다는 증거는 아닙니다. 고객이나 팀원에게 인사이트가 원인이라고 말하기 전에 트레이스 자체와 수정 전후의 재기록으로 확인하세요.

CPU 및 네트워크 스로틀링과 흔한 함정

개발용 컴퓨터는 일반적인 휴대전화보다 훨씬 빠르므로 내게 즉시 열리는 페이지가 실제 사용자에게는 고통스러울 수 있습니다. 스로틀링은 CPU 감속 배수와 네트워크 프로필(Slow 4G 등)로 더 약한 조건을 모의합니다.

주의점은 Google의 설명에 그대로 나옵니다. “Throttling is relative to your computer’s capabilities. For example, the 2x slowdown option makes your CPU operate 2 times slower than its usual ability” (번역) “스로틀링은 컴퓨터의 성능을 기준으로 합니다. 예를 들어 2x 감속 옵션은 CPU를 평소 성능보다 2배 느리게 작동시킵니다”(기능 참조). 즉 “4x 감속”은 절대 벤치마크가 아닙니다. 빠른 노트북의 4x와 느린 노트북의 4x는 같은 결과가 아닙니다. 컴퓨터 간 비교 가능한 표준이 아니라 상대적인 다이얼입니다. DebugBear의 상세 DevTools 안내는 두 번째 실용적 용도도 지적합니다. 기록 자체를 느리게 만들어 빽빽한 이벤트 묶음을 읽기 쉽게 할 수 있습니다.

이곳의 실험실 데이터와 Google이 순위에 사용하는 필드 데이터

SEO가 흔히 실수하는 지점입니다. Performance 패널의 수치, 즉 실시간 지표와 모든 기록은 그 순간 컴퓨터와 네트워크에서 얻은 실험실 데이터입니다. Google의 실제 Core Web Vitals 순위 신호는 실제 사용자의 CrUX 필드 데이터(실제 Chrome 사용자의 28일 집계)에서 나오며 Search Console과 PageSpeed Insights에서 볼 수 있습니다. 완벽한 로컬 기록이 필드 점수 통과를 보장하지는 않습니다. 실제 사용자는 하나의 테스트보다 더 느린 기기, 더 나쁜 네트워크, 더 다양한 조건을 사용합니다.

재설계된 패널은 둘을 연결합니다. 업데이트 후에는 실제 사용자 CrUX 필드 데이터를 로컬 결과 바로 옆에 표시해 “방금 측정한 내용”과 “실제 사용자가 경험하는 내용”을 비교할 수 있습니다. 필드 오버레이를 사용할 수 있으면 URL과 오리진 수준, 모바일과 데스크톱 사이를 전환할 수 있고 UI는 사용 중인 데이터 기간도 표시합니다. 비교하는 트레이스와 이 조건을 맞추세요. 그래도 필드 정보를 반영한 환경 설정(CrUX를 바탕으로 패널이 권장하는 스로틀링 프리셋)은 선택한 실제 사용자 세그먼트를 근사할 뿐입니다. 하나의 로컬 기록은 기반 모집단 분포를 재현하거나 순위 결과를 예측하지 못합니다. 이 오버레이는 로컬 트레이스와 Google의 순위 신호가 서로 다른 수치라는 점을 가장 분명하게 상기시키는 내장 기능입니다. 실험실과 필드의 전체 설명은 웹 성능 도구 허브와 관련 Core Web VitalsCrUX 설명을 보세요.

기술 SEO에서 제가 사용하는 방법

저는 수년간 Performance 패널을 사용해 왔습니다. 독립적인 최종 산출물로 쓰기보다 점수만으로 부족해 실제 동작을 확인해야 할 때 찾는 도구입니다. 구체적인 용도 몇 가지를 소개합니다.

정확한 LCP 요소 찾기. 이 패널에서 SEO에 가장 유용한 단일 기법이며 제가 무대에서도 가르친 절차입니다. 제 Page Experience Update(TMC, 2021년 6월) 자료의 단계는 다음과 같습니다. Performance > “스크린샷” 선택, “프로파일링 시작 및 페이지 새로고침” 클릭, 타이밍 그래프에서 LCP 찾기, 노드 클릭 — 이것이 LCP 요소입니다. DevTools는 Google이 Largest Contentful Paint로 계산할 정확한 요소를 알려 주므로 무엇을 최적화할지 알 수 있습니다. Seer Interactive의 Richie Lauridsen도 Search Engine Journal에서 같은 기법을 설명합니다. “LCP 플래그 위에 마우스를 올리면 페이지 로드 중 Largest Contentful Paint로 표시된 콘텐츠를 실제로 볼 수 있습니다”(SEO 문제 해결에 Chrome DevTools를 사용하는 3가지 방법). 서로 독립적인 두 글이 같은 절차에 도달한다는 점은 일회성 요령이 아니라 표준 워크플로라는 뜻입니다.

사람들에게 렌더링을 설명하기.JavaScript SEO 가이드에서는 이 패널로 렌더링 파이프라인을 눈에 보이게 합니다. “Chrome DevTools의 ‘Performance’ 탭에서 테스트를 실행하면 로딩 차트를 볼 수 있습니다.” 다운로드, HTML 파싱, JS 실행, 레이아웃, 페인트 순으로 차트를 살펴보면 Googlebot 렌더링이 완전한 브라우저 페인트의 모든 동작을 수행하지 않는다는 점을 고객과 동료에게 설명할 수 있습니다. 이는 JS SEO 문제 진단의 핵심입니다.

그 밖에도 렌더링을 차단하는 서드파티 발견레이아웃 이동 진단에 사용합니다. 네트워크 워터폴은 첫 페인트를 막는 요소를 보여 주고, 트레이스와 CLS 지표는 무엇이 언제 이동했는지 보여 줍니다.

반드시 이해해야 할 Googlebot 오해

함정은 이렇습니다. “내 Performance 패널에서 제대로 보이니 Googlebot도 제대로 보겠지.” 그렇게 결론 내릴 수 없습니다. 이 패널은 모든 기능을 갖춘 로컬 Chrome을 프로파일링합니다. Googlebot은 최신이지만 동일하지는 않은 Chromium 빌드인 Web Rendering Service로 렌더링합니다. 완전한 브라우저가 지원하는 모든 것을 지원하지 않고 동작도 다릅니다. 상태를 유지하지 않고 권한 요청을 거부하는 등의 차이가 있습니다(크롤링 및 렌더링 참조). Performance 패널은 렌더링 동작을 이해하고 진단하는 데 탁월하지만 실제 크롤링 및 색인 가능 여부를 확인하는 도구를 대신하지 못합니다. 그 확인에는 Search Console의 URL 검사 도구나 원시 가져오기를 사용하세요.

짧은 구분 참고 사항

Performance 패널Performance monitor를 혼동하지 마세요. Performance monitor는 기록된 트레이스 대신 CPU 사용량, JS 힙, DOM 노드 같은 실시간 지표를 라이브 스트립으로 보여 주는 별도의 소형 DevTools 기능입니다. 이름은 비슷하지만 다른 도구입니다.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.