nginx 와 php - fpm 서버 설정, 높 은 병행 실현
4543 단어 서버
주요 매개 변 수 를 설정 하고 설명 하고 싶 습 니 다.
nginx 주요 설정
nginx 를 통 해 php - fpm 서버 부 하 를 실현 하고 사용자 가 서 비 스 를 방문 할 때 서로 다른 php - fpm 서버 에 할당 을 요청 합 니 다.
# nginx worker
worker_processes auto;
#Changes the limit on the maximum number of open files (RLIMIT_NOFILE) for worker processes. , linux
worker_rlimit_nofile 65535;
# worker , [-20,19]
worker_priority -20;
events{
# The maximum number of connections that each worker process can handle simultaneously.
worker_connections 10240;
# If multi_accept is disabled, a worker process will accept one new connection at a time. Otherwise, a worker process will accept all new connections at a time.
multi_accept on;
}
http{
access_log /var/log/nginx/access.log main buffer=32k;
# Nginx sendfile 。
sendfile on;
# , , 6 ,5 9000 ,1 9001
upstream phpload{
server 127.0.0.1:9000 weight=6;
server 127.0.0.1:9001 weight=1;
}
server{
listen 443;
root /data/www/webserver;
index index.php;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ .php($|/){
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+.php)(/.+)") {
set $script $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$script;
fastcgi_param SCRIPT_NAME $script;
fastcgi_param PATH_INFO $path_info;
try_files $uri =404;
# , php
fastcgi_pass myfastcgi;
fastcgi_index index.php;
include fastcgi_params;
}
}
}
php - fpm 주요 설정
; php
listen = 127.0.0.1:9001
pm = dynamic
pm.max_children = 100
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 40
; php-fpm
pm.max_requests = 10240
php - fpm 실례 시작
pp - fpm 시작 인 스 턴 스, 서로 다른 프로필 설정, 각 프로필 감청 포트 번호
php-fpm -y /etc/php-fpm.d/9001.conf
php - fpm - h 도움말 보기, 더 많은 명령 사용 방식 가 져 오기
php - fpm 조작 명령
PID 는 php - fpm 인 스 턴 스 master 프로 세 스 번호 입 니 다.
인 스 턴 스 설정 다시 불 러 오기
kill -USR2 [PID]
침착 정지 php - fpm
kill -QUIT [PID]
테스트
설정: 4 핵 CPU 8G 메모리 20M 대역 폭, php - fpm 3 개 오픈, php - fpm 당 최대 150 자 라인 시작, nginx 4 개 worker 시작, php 버 전 5.4
ab -c 200 -n 10000 https://tongkuaikeji.com/
결실
CPU 사용률 100%, 메모리 사용률 20%, 대역 폭 피크 11M, 메모리 사용률 과 대역 폭 피크 값 은 백 엔 드 서비스 실행 데이터 와 전송 데이터 와 관련 이 있 으 므 로 참고 하 시기 바 랍 니 다.
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking tongkuaikeji.com (be patient)
Completed 10000 requests
Finished 10000 requests
Server Software: nginx/1.14.2
Server Hostname: tongkuaikeji.com
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128
Document Path: /
Document Length: 1662 bytes
Concurrency Level: 200
Time taken for tests: 56.434 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 20050000 bytes
HTML transferred: 16620000 bytes
Requests per second: 177.20 [#/sec] (mean)
Time per request: 1128.685 [ms] (mean)
Time per request: 5.643 [ms] (mean, across all concurrent requests)
Transfer rate: 346.95 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 81 246 445.6 112 8881
Processing: 403 849 269.5 837 2120
Waiting: 403 848 269.0 835 2120
Total: 493 1095 452.8 1029 9311
Percentage of the requests served within a certain time (ms)
50% 1029
66% 1135
75% 1214
80% 1283
90% 1551
95% 1725
98% 2127
99% 2598
100% 9311 (longest request)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
집 서버 설계 (하드웨어 편)자신의 Redmine이나 ownCloud를 운용하기 위해 사쿠라 VPS, DigitalOcean, OpenShift 등을 놀랐습니다만, 침착 해 왔으므로 현상을 정리하고 싶습니다. 먼저 하드웨어 구성을 정리합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.