높은 동시성 및 대규모 트래픽을 위한 PHP 솔루션
一 높은 동시성의 개념
인터넷 시대에 동시성 및 높은 동시성은 일반적으로 동시 액세스를 의미합니다. 즉, 특정 시점에 동시에 얼마나 많은 방문자가 방문하는지를 나타냅니다.
영상강좌 추천→: "천만급 데이터 동시성 솔루션(이론+실기)" #🎜🎜 #
2 높은 동시성 아키텍처 관련 개념
1 QPS(초당 쿼리 속도): 초당 요청 수 또는 쿼리 수입니다. , 인터넷 분야에서는 초당 응답 요청 수를 의미합니다(HTTP 요청 참조)2. PV(페이지 보기): 페이지 조회수, 즉 페이지 조회수 또는 클릭수, 24시간 내 방문자 방문 페이지 수--참고: 동일한 사용자가 웹사이트의 동일한 페이지를 탐색하는 것은 하나의 pv3으로만 기록됩니다. /sec): 단위 시간 숫자 내에서 처리된 요청 수(보통 QPS 및 동시성에 의해 결정됨) 4. 응답 시간: 요청이 전송된 시간부터 응답 시간까지 걸리는 시간입니다. 응답 수신 5. 개별 방문자(UV): 특정 시간 범위 내에서 동일한 방문자가 웹 사이트를 여러 번 방문하면 1명의 개별 방문자로만 계산됩니다#🎜 🎜#6. 대역폭: 대역폭을 계산할 때 두 가지 지표, 즉 최대 트래픽과 평균 페이지 크기에 주의해야 합니다.# 🎜🎜#
7. 일일 웹사이트 대역폭: PV/통계 시간(초로 환산) * 평균 페이지 크기(kb) * 8 #🎜🎜 #3가지 주의 사항:1은 동일하지 않습니다. 동시 연결 수 (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. QPS가 2000에 도달할 때
최적화 계획: 사업 분리, 분산 저장
# 🎜🎜## 🎜🎜# 5. 높은 동시성 솔루션 사례:
1. 트래픽 최적화
핫링크 방지 처리(악성 요청 제거)#🎜🎜 ##🎜🎜 #
2. 프런트엔드 최적화
(1) 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 튜토리얼을 방문하세요.# 🎜🎜#!위 내용은 PHP 높은 동시성 및 대규모 트래픽 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!