> 백엔드 개발 > PHP 튜토리얼 > PHP는 성능 최적화를 달성합니다

PHP는 성능 최적화를 달성합니다

王林
풀어 주다: 2023-04-08 08:12:02
앞으로
2474명이 탐색했습니다.

PHP는 성능 최적화를 달성합니다

문제 배경

페이지를 개발한 후 어떻게 페이지를 더 빠르고 좋게 만드는가는 프로그래머의 기술 수준과 비전을 구별하는 중요한 지표입니다. 따라서 면접 중에 면접관은 항상 성과를 최적화하는 방법에 대한 질문을 할 것입니다.

성능 최적화란 무엇인가요?

프론트엔드 관점에서 보면 성능 ​​최적화는 두 가지 방향으로 나눌 수 있습니다. 사용자 입장에서 보면, 하나는 페이지 로딩 속도가 빠르고, 다른 하나는 페이지 사용이 원활하다는 점입니다. 따라서 성능 최적화 탐색은 페이지 로딩 시간과 페이지 실행 효율성이라는 두 가지 방향으로 나눌 수 있습니다.

(무료 학습 영상 튜토리얼 공유: php 영상 튜토리얼)

브라우저 열기부터 페이지 렌더링까지 얼마나 걸리나요?

브라우저 파싱->캐시 쿼리->dns 쿼리-> 링크 설정 -> 서버가 요청 처리 -> 서버가 응답 보내기 -> 클라이언트가 페이지 수신 -> HTML 구문 분석 -> 렌더링 트리 작성 -> 콘텐츠 표시 시작(흰색 화면 시간) )->첫 번째 화면 콘텐츠 로딩 완료(첫 번째 화면 시간) -> 사용자 인터랙티브(DOMContentLoaded) -> 로딩 완료(load), 로딩 시간을 최적화하려면 여기서 모든 단계를 생각하고 요약해야 하며, 여기저기서 조금씩 여기저기서 연결하지 마십시오.

페이지 로드 시간 모니터링

이러한 링크를 최적화하기 전에 이러한 링크를 모니터링하는 데 얼마나 많은 시간이 소요되는지 알아야 합니다.

페이지 로딩과 관련된 많은 데이터를 얻을 수 있습니다. 더 일반적으로 사용되는 것은

DNS 확인 시간: domainLookupEnd - domainLookupStartdomainLookupEnd - domainLookupStart

TCP建立连接时间: connectEnd - connectStart

白屏时间: responseStart - navigationStartdom

渲染完成时间: domContentLoadedEventEnd - navigationStart

页面onload时间: loadEventEnd - navigationStart

TCP 연결 설정 시간: connectEnd - connectStart

흰색 화면 시간: r<code>esponseStart - NavigationStartdom

렌더링 완료 시간: domContentLoadedEventEnd - NavigationStart

페이지 온로드 시간: loadEventEnd - NavigationStart

그렇다면 이 API를 사용하지 않으면 서버가 다시 렌더링되는 시간이나 SPA 경로가 점프하는 시간을 시작점으로 사용하고 domContentLoaded, load 및 기타 이벤트를 종료점으로 사용하여 기록할 수 있습니다. 아니면 Google Analytics로 바로 이동하세요.

서버 부분 최적화 핵심 포인트

백엔드 부분에서는 캐시, DNS 쿼리 시간, 링크 시간, 요청 처리 시간, 응답 시간 등을 최적화할 수 있습니다.

DNS 쿼리 시간은 httpdns 또는 dns 사전 로드, 도메인 이름 컨버전스 및 기타 방법을 사용하여 최적화할 수 있습니다.

연결 설정의 초점은 긴 연결 및 링크 재사용, 연결 유지, 긴 폴링, http-straming, websocket 또는 직접 작성한 기타 프로토콜입니다. http2를 직접 사용하는 것이 좋습니다. 연결 프로세스를 최적화하려면 프런트엔드에서도 CDN, 스프라이트 이미지, 코드 병합 및 기타 리소스 방법을 사용해야 합니다.

서버 처리 요청에는 최적화할 수 있는 점이 많습니다. 모바일 단말기가 PC 페이지에 접속하여 모바일 페이지로 점프해야 할 경우 서버 측에서 302 점프를 사용하고 점프하지 않는 것이 좋습니다. 프런트 엔드. 브라우저가 후속 방문에 https를 사용하도록 요구하는 hsts를 활성화하는 옵션도 있으며, 이는 불필요한 http 점프를 https로 줄여 SSL 스트리핑 공격을 방지하고 보안을 향상시킬 수도 있습니다. 🎜🎜서버가 응답을 보낼 때 Transfer-Encoding=chunked를 사용하여 여러 번 응답을 반환할 수 있습니다. 특정 작업의 경우 bigpipe를 확인하세요. 쿠키 크기 등을 줄이는 방법도 있습니다. 🎜🎜추천 관련 기사 및 튜토리얼: 🎜php 튜토리얼🎜🎜

위 내용은 PHP는 성능 최적화를 달성합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿