찾다
웹 프론트엔드JS 튜토리얼프론트엔드 개발 엔지니어는 세 가지 성능 지표에 주의를 기울여야 합니다.

자격을 갖춘 프론트 엔드 개발 엔지니어로서 주의해야 할 몇 가지 성능 지표를 알고 계십니까? 오늘은 프론트엔드 엔지니어가 주목해야 할 세 가지 지표에 대해 잘 소개해드리겠습니다

1. 페이지 응답 시간과 관련하여 유명한 "2-5-8 원칙"이 있습니다. 사용자가 페이지를 방문할 때:

응답이 2초 이내에 수신되면 시스템은 응답이 빠르다고 느낄 것입니다.

응답이 2~5초 사이이면 시스템 응답 속도는 괜찮을 것입니다. 응답이 5~8초 이내에 수신되면 시스템은 응답 속도가 매우 느린 것으로 느껴지지만 허용됩니다.

8초 이상 후에도 응답이 수신되지 않으면 사용자는 시스템이 끔찍하다고 느끼고 사이트를 떠나거나 두 번째 두 번째 요청을 시작하기로 선택합니다.

웹사이트가 사용자를 사로잡기를 원한다면 웹사이트의 속도와 안정성이 최우선입니다.

다양한 프런트 엔드 모니터링 플랫폼에서 페이지의 다양한 성과 지표를 얻을 수 있습니다. 이 기사에서는 몇 가지 주요 지표를 소개하고 그에 따른 최적화 아이디어를 제공합니다.

2. 렌더링 시작 시간


이 시점은 브라우저가 페이지를 그리기 시작하는 시점을 의미하므로 해당 페이지는 흰색 화면 시간이라고도 합니다.

이 시점은 렌더링 시작 시간 = TTFB(첫 번째 바이트까지의 시간) + TTDD(

Document

다운로드까지의 시간) + TTHE(헤드 엔드까지의 시간) 공식으로 나타낼 수 있습니다. 그 중 TTFB는 브라우저가 요청을 시작하고 서버가 첫 번째 바이트를 반환할 때까지의 시간을 나타내고, TTDD는 서버에서 HTML 문서를 로드하는 데 걸리는 시간을 나타내며, TTHE는 문서 헤더 구문 분석을 완료하는 데 필요한 시간을 나타냅니다. 이 시점을 얻기 위해 고급 브라우저에는 해당 속성이 있습니다. Chrome은 chrome.loadTimes().firstPaintTime을 통해 얻을 수 있고, IE9+는performance.timing.msFirstPaint를 통해 얻을 수 있습니다. 지원하지 않는 브라우저에서는 위 수식에 따라 헤더 리소스가 로드되는 순간을 구하여 대략적인 값을 시뮬레이션할 수 있습니다. . 렌더링 시작 시간이 빠를수록 사용자가 페이지를 더 빨리 볼 수 있습니다. 현재 최적화 사항은 다음과 같습니다.

1) 서버 응답 시간, 서버 측 출력을 가능한 한 빨리 최적화

2) html 파일 크기 줄이기

3) 헤더 리소스 줄이기, 본문에 스크립트 배치 시도

DOM 준비


이 시점은 DOM 구문 분석이 완료되었으며 리소스가 로드되지 않았음을 나타냅니다. 이때 사용자와 페이지의 상호 작용이 이미 가능합니다. TimeTo Dom Ready = TTSR(렌더링 시작 시간) + TTDC(Dom 생성 시간) + TTST(스크립트 시작 시간) 공식으로 표현할 수 있습니다. 위에서 TTSR이 소개되었는데, TTDC는 DOM 트리를 생성하는 데 걸리는 시간을 나타냅니다. TTST는 BODY에 있는 모든

static

스크립트의 로딩 및 실행 시간을 나타냅니다. 고급 브라우저에는 이에 해당하는 DOMContentLoaded 이벤트가 있습니다. MDN의 DOMContentLoaded 이벤트를 설명하는 문서는 다음과 같습니다. DOMContentLoaded 이벤트는 스타일시트, 이미지, (로드 이벤트는 완전히 로드된 페이지를 감지하는 데 사용될 수 있습니다.)

자세한 사양은 W3C의 HTML5 사양을 참조하세요. MDN 문서에서 볼 수 있듯이 이 이벤트는 주로 DOM 문서의 로드 및 파싱 완료를 의미합니다. 매우 간단해 보이지만 DOMContentLoaded 이벤트의 트리거링은 CSS 및 js와 밀접하게 관련되어 있습니다. 이를 설명하기 위해 중요한 렌더링 경로(Critical Rendering Path)라는 용어가 DOMContentLoaded에 미치는 영향에 대해 [Critical Rendering Path] 문서에 자세히 소개되어 있습니다.

DOMContentLoaded 이벤트를 지원하지 않는 브라우저에서는 시뮬레이션을 통해 대략적인 값을 얻을 수 있습니다. 주요 시뮬레이션 방법은 다음과 같습니다.


1) 낮은 버전의 웹킷 커널 브라우저는 document.readyState를 폴링하여 이를 달성할 수 있습니다.

2) IE에서는 구현에 사용될 수 있을 때까지 setTimeout을 통해 documentElement의 doScroll 메서드를 지속적으로 호출할 수 있습니다.

구체적인 구현 방법은 주류 프레임워크(jquery 등)의 구현을 참조할 수 있습니다. DOM 준비 시점은 사용자가 페이지와 상호 작용할 수 있음을 의미하므로 이 시점에 대한 최적화는 다음과 같습니다.

1) 가능한 적은 수의 노드를 사용하여 DOM 구조의 복잡성을 줄입니다. 너무 깊게 중첩

2) 키 표시 경로 최적화

3. 첫 화면 시간


이 시점은 사용자가 첫 번째 화면 페이지를 보는 시점을 나타냅니다. 이 시점은 매우 중요하지만 일반적으로 얻기가 어렵습니다. 근사치는 시뮬레이션 시간을 통해서만 얻을 수 있습니다. 일반적인 시뮬레이션 방법은 다음과 같습니다.

1) 스크린샷을 지속적으로 획득합니다. 스크린샷이 더 이상 변하지 않으면 첫 번째 화면 시간으로 간주할 수 있습니다. webPagetest의 Speed ​​Index 알고리즘을 참고하시면 됩니다.

2) 일반적으로 첫 화면에 영향을 미치는 주요 요인은

images

로딩 여부입니다. , 가장 느린 로딩 시간을 찾으면 첫 번째 화면 시간이 표시됩니다. 물론, 기타 세부 사항도 고려해야 합니다. [7일 안에 프런트엔드 성능 모니터링 시스템 구축]을 참조하세요. 이 시점에 대한 최적화는 다음과 같습니다. 1) 첫 번째 화면의 표시. 페이지는 js 코드에 의존해서는 안 되며, js는 실행 또는 로딩 후에 최대한 domReady에 배치되어야 합니다.

2) 첫 화면 외부 이미지 지연 로딩

3) 첫 화면 구조는 최대한 단순해야 하며, 첫 화면 외부의 CSS 로딩이 지연될 수 있습니다

onload

이 시점은 window.onload 이벤트가 트리거되어 원본 문서와 참조된 모든 콘텐츠가 로드되었으며 사용자가 느끼는 가장 확실한 느낌은 브라우저 탭의 로드 상태가 종료되었다는 것입니다.

이 시점의 최적화 방법은 다음과 같습니다.

1) 리소스 요청 수 및 파일 크기 줄이기

2) onLoad 이후에 초기화되지 않은 스크립트를 배치하여 실행

3) 필요하지 않은 스크립트의 비동기 로딩 동기화

전체 웹 사이트 성능을 최적화하려면 페이지를 로드할 때 일부 사전 로드를 수행하고 다른 페이지에서 사용해야 하는 리소스를 사전 로드하는 것을 고려할 수 있습니다.

위의 글이 여러분의 프론트엔드 개발 여정에 도움이 되기를 바랍니다.

관련 자료:

프런트엔드 JS 면접 질문

실용적인 웹 프론트엔드 JS 및 UI 프레임워크 소개

웹 프론트엔드 지식 시스템 요약

위 내용은 프론트엔드 개발 엔지니어는 세 가지 성능 지표에 주의를 기울여야 합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python vs. JavaScript : 성능 및 효율성 고려 사항Python vs. JavaScript : 성능 및 효율성 고려 사항Apr 30, 2025 am 12:08 AM

파이썬과 자바 스크립트 간의 성능과 효율성의 차이는 주로 다음과 같이 반영됩니다. 1) 해석 된 언어로서, 파이썬은 느리게 실행되지만 개발 효율이 높고 빠른 프로토 타입 개발에 적합합니다. 2) JavaScript는 브라우저의 단일 스레드로 제한되지만 멀티 스레딩 및 비동기 I/O는 Node.js의 성능을 향상시키는 데 사용될 수 있으며 실제 프로젝트에서는 이점이 있습니다.

JavaScript의 기원 : 구현 언어 탐색JavaScript의 기원 : 구현 언어 탐색Apr 29, 2025 am 12:51 AM

JavaScript는 1995 년에 시작하여 Brandon Ike에 의해 만들어졌으며 언어를 C로 실현했습니다. 1.C Language는 JavaScript의 고성능 및 시스템 수준 프로그래밍 기능을 제공합니다. 2. JavaScript의 메모리 관리 및 성능 최적화는 C 언어에 의존합니다. 3. C 언어의 크로스 플랫폼 기능은 자바 스크립트가 다른 운영 체제에서 효율적으로 실행하는 데 도움이됩니다.

무대 뒤에서 : 어떤 언어의 힘이 자바 스크립트입니까?무대 뒤에서 : 어떤 언어의 힘이 자바 스크립트입니까?Apr 28, 2025 am 12:01 AM

JavaScript는 브라우저 및 Node.js 환경에서 실행되며 JavaScript 엔진을 사용하여 코드를 구문 분석하고 실행합니다. 1) 구문 분석 단계에서 초록 구문 트리 (AST)를 생성합니다. 2) 컴파일 단계에서 AST를 바이트 코드 또는 기계 코드로 변환합니다. 3) 실행 단계에서 컴파일 된 코드를 실행하십시오.

파이썬과 자바 스크립트의 미래 : 트렌드와 예측파이썬과 자바 스크립트의 미래 : 트렌드와 예측Apr 27, 2025 am 12:21 AM

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 ​​통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

Python vs. JavaScript : 개발 환경 및 도구Python vs. JavaScript : 개발 환경 및 도구Apr 26, 2025 am 12:09 AM

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

JavaScript가 C로 작성 되었습니까? 증거를 검토합니다JavaScript가 C로 작성 되었습니까? 증거를 검토합니다Apr 25, 2025 am 12:15 AM

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript의 역할 : 웹 대화식 및 역동적 인 웹JavaScript의 역할 : 웹 대화식 및 역동적 인 웹Apr 24, 2025 am 12:12 AM

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript : 연결이 설명되었습니다C 및 JavaScript : 연결이 설명되었습니다Apr 23, 2025 am 12:07 AM

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.