페이지의 응답 시간을 최적화
이유 : 사이트에 액세스 할 때, 페이지 로딩 속도, 이탈은 사용자 경험은 좋지 않다, 매우 느립니다
해결 방법 :
1, 동적 정적 페이지
이 데이터베이스를 최적화
부하 분산을 사용하여 3,
(4) 캐시 사용 레디 스 및 Memcache를을
동적 정적 페이지
페이지가 자주 변경 및 대규모 동적 정적 페이지에 대한 사용자 액세스하지 않는 경우 매우 효과적인 솔루션입니다. 5 분 또는 10 분
에센스 : 정적 생성 된 HTML 파일을
장점 : 실행 시간 서버 스크립트를 감소
서버의 응답 시간을 감소
PHP 실행 순서 파일
구문 분석 -> 컴파일 -> 실행
HTML의 페이지는 실행해야
대형 사이트의 첫째 기준
1, PV 값 (페이지 뷰) 웹 사이트 트래픽 :
개념 : 웹 사이트, 하루 24 시간 내의 모든 페이지, 총 금액은 수준의 수천, 또는 몇 백만 개에 도달, 액세스되는.
2, 자외선 값 (순 방문자) 고유 방문자 수 :
개념 : 웹 사이트 24 시간 우리의 웹 사이트를 방문하는 사용자의 하루, 내. 수십만의 자외선 값,
3, 독립적 인 IP,
개념 : 웹 사이트, 하루 24 시간 내에는 독립적 인 IP의 수는 우리의 사이트에 액세스 할 수 있습니다.
당신이 회사의 로컬 영역 네트워크를 고려할 경우, 독립적 인 IP의 값보다 약간 큰 UV.
문제를 가지고 둘째, 대형 사이트 :
1, 높은 동시성.
동시성 : 다수의 사용자가 동일한 웹 사이트 주소를 요청하는 방법 시간 (1 초 이내) 같은 지점에서 사이트.
2 개의 대형 트래픽 (대역폭)
대역폭 수요가 증가한다.
3 데이터 저장 문제.
기록 내부의 데이터 테이블이 매우 큰 경우,는 GT 클래스를 달성하기 위해 신속하게 원하는 데이터를 찾을 수있는 용량이다.
어떻게 해결하는 방법 셋째, 높은 동시성 :
계층화 된 디자인,로드 밸런싱 및 클러스터링의 사용을 사용하여 사이트 아키텍처.
넷째, 어떻게 큰 흐름을 해결하기 위해
1 , 자원은 웹 사이트의 일부 대형 자원 유형에 존재하는 핫 링크에서 사이트를 방지하기 위해
2 , 환원 의 HTTP 요청을
당신은 하나 개의 파일로 결합 어떤 스타일의 CSS 파일과 JS, 배경의 일부를 넣을 수 있습니다.
3 , 브라우저 캐시를 구성
같은 브라우저가 내부의 브라우저 캐시에서 직접 촬영 한 동일 자원을 요청할 때 브라우저에 캐시 CSS, JS, 이미지, 등의 자원의 일부 아니 아주 자주 업데이트합니다.
4 압축 구성이 데이터 전송의 양을 줄일
(5) 자원 중 일부는 별도의 서버를 배포하는 교통 계정을 비교할 수 있습니다.
6 , 대역폭에 돈을 지출.
다섯 개 대형 스토리지 솔루션 :
궁극적 인 목표 : 이하 쿼리 데이터베이스 쿼리 데이터베이스 쿼리 데이터베이스, 신속하게 데이터를 쿼리합니다.
1 , 캐시 서버를 사용.
(1) 디스크 캐시 (정적 페이지 기술)
(2) 캐시 메모리
메모리 캐싱 :
Memcache는, 레디 스, MongoDB의 메모리 스토리지 엔진의 MySQL
2, 최적화 된 데이터베이스
여섯째, 정적 페이지 기술
동적한다 (데이터베이스) PHP 페이지, 이는 정적 페이지 들이게로 변환되고
구현 단계;
HTTP 요청 데이터는 두 부분으로 리턴하고, 헤드 본체에 응답하여 응답 정보.
(1) 본체에 응답하여 상기 컨텐츠 데이터를 얻는다. (오비 버퍼)
(2) 콘텐츠 본문 데이터에 응답하여, HTML 파일에 기록된다 (file_put_contents를)
HTML 파일로 (3) 직접 액세스 할 수 있습니다.
1 , 산부인과 캐시 내용 :
OB 캐시 : 콘텐츠 본체에 응답하여 상기 데이터를 버퍼링 (출력 버퍼) output_buffering을.
어떻게 여는 방법 :
첫 번째 방법 : php.ini의 파일에,
두 번째 방법은 : 열 페이지에서 () 함수를위한 ob_start 사용합니다.
차이점은, 두 가지 방법,위한 ob_start ()는 현재의 페이지 만 유효한 있다는
(2) 일반적으로 사용되는 기능
위한 ob_start () 개방
ob_get_contetns (); 캐시와 산부인과의 데이터 내용을 가져옵니다.
ob_clean () ; // 캐시와 데이터 산부인과을 취소 산부인과 캐시는 닫히지 않습니다.
위해서는 ob_end_clean (); // 캐시와 데이터 산부인과, 산부인과을 취소하고 캐시를 닫습니다.
ob_flush (); 프로그램 캐시 리프레시 버퍼 (이동, 누름)에 OB 내부 // 데이터 캐시 폐쇄 OB 아니다.
은 ob_end_flush (); 리프레시 버퍼 (이동, 누름)에 OB 내부 // 데이터는 프로그램 및 가까운 OB 캐시를 캐시.
3 , 정적 웹 사이트 :
진정한 정적 : 실제 HTML 페이지를 생성합니다.
의사 정적 : 정적 페이지가 실제로 표면에서 액세스 할 수있는 동적 페이지에 액세스 할 수 있습니다. 예를 들어, 주소 다음 :
http://www.abc.com/news-music-id12_10.html
실제로 방문 : http://www.abc.com/news.php?type=music&id=12 & 페이지 = 10 페이지.
의사 정적 주로 현서에 찬성한다.
구현 :
진정한 정적 방법 :
첫 번째 : 산부인과 캐싱 기술의 사용.
두 번째 : 템플릿 대체 기술을 사용하여
의사 정적 구현 : 아파치 재 작성 메커니즘을 사용 (URL 재 작성 메커니즘)
어떤 사이트는 실제 정적에 적합?
웹 페이지, 더 자주, 뉴스 사이트의 일부 유형의 매우 자주하지 업데이트, 일부 사이트는, 사이트의 재고 유형으로 실시간 업데이트에 적합하지 않습니다 방문