fastcgi와 fpm의 차이점은 무엇입니까?

macports에 fpm과 함께 php를 설치하려고 합니다.fpm은 Fast CGI 프로세스 매니저를 의미한다는 것을 어디선가 읽었습니다.fastcgi와 fpm이 같다는 뜻인가요?같은 경우 php에 대해 “php5 + fastcgi”와 “php5 + fpm”의 두 가지 다른 macport variant가 있는 이유는 무엇입니까?



질문에 대한 답변



FPM은 PHP에서 Fast CGI SAPI(Server API)를 관리하는 프로세스 매니저입니다.

기본적으로는 SpeanFCGI와 같은 것이 필요합니다.Fast CGI 자식은 적응적으로 생성됩니다(즉, 현재 로드에 필요한 경우 더 많은 실행).

그렇지 않으면 Fast CGI와 운용상의 큰 차이는 없습니다(요청 시작부터 종료까지의 요청 파이프라인은 동일합니다).단지, 간단하게 실장할 수 있도록 하기 위해서입니다.




Anthony의 말은 전적으로 옳습니다만, 고객님의 경험이 훨씬 더 뛰어난 퍼포먼스와 효율성을 보여줄 것이라고 덧붙이고 싶습니다.fpm-vs-fcgi그 이상의 기능을 구현합니다.httpd).

예를 들어, 쿼드코어 머신을 실행하고 있었습니다.lighttpd+fcgi흥얼거리며 걸어갑니다.성장에 대응하기 위해 16코어 머신으로 업그레이드했는데 RAM 사용량과 세그먼트 폴트라는 두 가지가 폭발적으로 증가했습니다.나는 내가 다시 시작하고 있었다.lighttpd30분마다 한 번씩 웹 사이트를 운영합니다.

php-fpm과 nginx로 전환했더니 RAM 사용량이 20GB 이상에서 2GB로 떨어졌습니다.세그먼트 폴트도 사라졌습니다.조사를 해보니 부하가 걸린 멀티코어 머신에서는 lighttpd와 fcgi가 잘 맞지 않고 메모리 누수 문제도 있다는 것을 알게 되었습니다.

이 이유는php-fpm보다 낫다fcgi완전히는 아니지만, 어떻게 하면php-fpm당신이 어떻게 서비스를 제공하는 것보다 훨씬 더 효율적인 것 같다.fcgi.




CGI로 PHP를 실행한다는 것은 기본적으로 웹 서버에 PHP 실행 파일의 위치를 알려주고 서버가 실행 파일을 실행한다는 것을 의미합니다.

반면에.

PHP FastCGI Process Manager(PHP-FPM)는 웹 사이트가 과도한 로드를 처리할 수 있도록 하는 PHP의 대체 FastCGI 데몬입니다.이를 위해 PHP-FPM은 풀(PHP 요청에 응답할 수 있는 작업자)을 유지합니다.다중 사용자 PHP 환경에서 PHP-FPM은 SUPHP와 같은 기존 CGI 기반 방식보다 빠릅니다.

그러나 둘 다 장단점이 있기 때문에 각각의 사용 사례에 따라 선택해야 합니다.

링크에서 fastcgi vs fpm에 대한 정보는 시나리오에서 사용할 핸들러를 선택하는 데 매우 도움이 됩니다.