서버가 (이 현명하게 쓰여있는 경우) 하루 응용 프로그램에 > 500 000 요청을 처리 할 강력한 충분하다.
문제는 PHP-FPM이 더 많은 요청을 처리하기 위해 더 많은 하위 프로세스를 가질 수 없기 때문입니다.
아파치에서 추가 아파치 프로세스가 자동으로 시작되었습니다.
하지만 Nginx + PHP-FPM은 이러한 상황을 어떻게 처리 할 수있는 자유를 제공합니다.
그냥 FPM 풀 conf의 변경 : /etc/php/php-fpm.d/www.conf
를 (또는 당신이 사용하는 무엇이든)
는이 내용이 있는지 확인 :
pm = static
pm.max_children = 4096
pm.process_idle_timeout = 10s
pm.max_requests = 32
를 다음의 PHP FPM에게
를 다시 시작도 nginx.conf
을 편집하고 만들 상단에이 필드가 있는지 확인하십시오 :
user http;
worker_processes auto;
events {
worker_connections 4096;
multi_accept on;
use epoll;
}
p.s. 청취 속성을 ip:port
으로 변경하지 마십시오. 소켓이 더 빠르며, ip:port
에 ipz 및 ip로 네트워크 연결을 생성하지만 소켓 버전에서는 .sock "file"이 열립니다.
p.s. fastcgi_buffers
및 기타 지시문을 변경하지 마십시오. 불량 게이트웨이 문제를 해결하지 못합니다. php-fpm 프로세스가 적기 때문입니다.
fastcgi_buffers 32 1024k;
fastcgi_buffer_size 1024k;
추신 : 내 서버에서
은 기본입니다귀하의 디스크 드라이브를하고 싶지 않아 불필요한 로깅 (nginx.conf)를 사용하지 않도록 더 IO 부하가 :
access_log off;
error_log /var/log/nginx/error.log crit;
당신은이 위대한에 대한
감사를 사용
newrelic
를 모니터링하고 서버의 네트워크, CPU, MEM 활동을 모니터링해야하는 경우 대답 : –도움이 되었습니까! 도와 드리겠습니다 (: – num8er
실제로 더 많은 동시 요청을 허용하는 데 도움이됩니다 .. 그리고 laravel에서 phalcon으로 프로젝트의 특정 부분을 이동 시켰습니다. 이제는 큰 효과가 있습니다 –