이 글은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!