저는 Windows Server 2012 R2의 IIS 8.5에서 FastCGI 구성 요소로 PHP 5.4(예, 오래되어 업그레이드가 필요하다는 것을 알고 있습니다)를 실행하고 있습니다. 설정을 조정하는 동안 다음 내용을 읽었습니다.https://docs.microsoft.com/en-us/iis/application-frameworks/running-php-applications-on-iis/configure-php-process-recycling-behavior기사.
해당 기사에서는 설정을 권장합니다.InstanceMax요청그리고PHP_FCGI_MAX_REQUESTS에게10,000- 하지만 그 이유는 설명되지 않습니다. 특정 환경에 가장 적합한 값이 무엇인지 결정하는 더 나은 전략이 있습니까, 아니면 기사에 따라 10,000으로 하드코딩하는 것이 안전합니까?
무엇이 최선인지 어떻게 결정합니까?InstanceMax요청그리고PHP_FCGI_MAX_REQUESTS값은내 환경을 위해? 어떤 값을 사용해야 하는지 어떻게 알아내나요?
답변1
나는 다음과 같은 값으로 프로덕션 환경을 실행했습니다.20,000문제 없이 최소 5년 동안. (나는 개발 환경을 다음과 같은 값으로 운영합니다.200.)
실제로 질문은 다음과 같습니다. 들어오는 트래픽을 처리하기 위해 새로운 PHP 프로세스를 얼마나 자주 생성하기를 원합니까(또는 필요합니까)? 로그에 HTTP 500 오류가 많이 표시되면 이 값을 줄여보세요.
너무 낮게 설정하면 php-cgi.exe
하루 종일 많은 프로세스가 생성되고 파괴되어 요청 처리가 약간 지연될 수 있습니다. 이 값을 너무 높게 설정하면 메모리 누수가 오랫동안 확인되지 않거나 프로세스가 충돌하는 경우 설명할 수 없는 HTTP 500 오류가 발생할 수 있습니다(내 생각에는 그럴 가능성이 낮습니다).