>  기사  >  백엔드 개발  >  높은 동시성 및 대규모 트래픽을 위한 PHP 최적화 솔루션 소개

높은 동시성 및 대규모 트래픽을 위한 PHP 최적화 솔루션 소개

不言
不言앞으로
2019-01-23 09:44:094331검색

이 글은 PHP의 높은 동시성 및 대규모 트래픽을 위한 최적화 계획을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

一 높은 동시성의 개념

인터넷 시대에 동시성, 높은 동시성은 일반적으로 동시 접속을 의미합니다. 즉, 특정 시점에 동시에 얼마나 많은 방문자가 방문하는지를 나타냅니다.

고동시성 아키텍처 관련 두 번째 개념

1. QPS(query rate per second): 초당 요청 수 또는 초당 쿼리 수를 의미합니다. HTTP 요청)

2. PV(페이지 뷰): 페이지 조회수, 즉 페이지 조회수 또는 클릭수, 방문자가 24시간 이내에 방문한 페이지 수

--참고: 동일한 페이지를 탐색하는 동일한 사람 웹사이트는 하나의 PV로만 계산됩니다

3. 처리량(가져오기/초): 단위 시간당 처리되는 요청 수(보통 QPS 및 동시성에 의해 결정됨)

4. 응답 시간: 요청에서

5. 개별 방문자(UV): 특정 시간 범위 내에서 동일한 방문자가 웹 사이트를 여러 번 방문하며 1명의 개별 방문자로만 계산됩니다.

6. 대역폭을 계산하려면 두 개의 지표가 필요합니다. 페이지의 최대 트래픽 및 평균 크기에 주의하세요

7. 일일 웹사이트 대역폭: PV/통계 시간(초로 변환) * 평균 페이지 크기(kb) *

3가지 주의 사항:

1. QPS는 동시 연결 수와 동일하지 않습니다. (QPS는 초당 HTTP 요청 수, 동시 연결 수는 시스템에서 동시에 처리하는 요청 수입니다.)

2. 초당(QPS) = (총 PV 수 * 80%) / (6시간의 초 * 20%) [방문의 80%를 20%의 시간에 집중]

3. 테스트가 견딜 수 있는 동시성 수와 테스트가 견딜 수 있는 최대 QPS 값

4. 일반적으로 사용되는 성능 테스트 도구 [ab, wrk, httpload, Web Bench, Siege, Apache JMeter]

4가지 최적화

1. QPS가 50 미만인 경우

최적화 계획: 일반 소규모 웹사이트에서는 최적화를 고려할 필요가 없습니다

2. QPS가 100에 도달하면 데이터 쿼리 병목 현상이 발생합니다

최적화 계획: 데이터베이스 캐시 레이어, 데이터베이스 로드 밸런싱

3. QPS가 800에 도달하면 대역폭 병목 현상이 발생합니다

최적화 계획: CDN 가속, 로드 밸런싱

4. QPS가 1000에 도달하면

최적화 계획: html을 정적 캐시로 만듭니다

5.

최적화 계획: 사업 분리, 분산 저장

5. 높은 동시성 솔루션 사례:

1. 트래픽 최적화

Anti-hotlink 처리(악성 요청 제거)

2. HTTP 요청 감소 [CSS, js 등 병합]

(2) 비동기 요청 추가(먼저 사용자에게 모든 데이터를 표시하지 않으며, 비동기 요청 데이터가 되기 전에 사용자가 이벤트를 트리거함)

(3 ) 브라우저 캐싱 및 파일 압축 활성화

(4) CDN 가속

(5) 독립적인 이미지 서버 구축(I/O 감소)

3. 서버 측 최적화

(1) 페이지 정적화

(2) 동시 처리

(3) 큐 처리

4. 데이터베이스 최적화

(1) 데이터베이스 캐싱

(2) 하위 라이브러리, 하위 테이블, 파티션

(3) 읽기-쓰기 분리

(4) 로드 밸런싱

5. 웹 서버 최적화

(1) 로드 밸런싱을 위한 nginx 리버스 프록시

(2) 로드 밸런싱을 위한 lvs

위 내용은 높은 동시성 및 대규모 트래픽을 위한 PHP 최적화 솔루션 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제