>백엔드 개발 >PHP 문제 >PHP는 일반적으로 몇 개의 프로세스를 엽니까?

PHP는 일반적으로 몇 개의 프로세스를 엽니까?

王林
王林원래의
2019-09-28 11:55:275213검색

PHP는 일반적으로 몇 개의 프로세스를 엽니까?

먼저 PHP-FPM이 어떻게 실행되는지 살펴보겠습니다.

static :表示在 `php-fpm` 运行时直接 `fork` 出 `pm.max_chindren` 个子进程,
 
dynamic:表示,运行时 `fork` 出 `start_servers` 个进程,随着负载的情况,动态的调整,最多不超过 `max_children` 个进程。

일반적으로 static을 사용하는 것이 좋습니다.

로드 상황을 동적으로 판단하고 성능을 향상시킬 필요가 없다는 것이 장점입니다.

단점은 시스템 메모리 리소스를 더 많이 차지한다는 것입니다.

PHP-FPM 하위 프로세스 수는 많을수록 좋나요?

물론 그렇지 않습니다. pm.max_chindren. 프로세스가 너무 많아 프로세스 관리 및 컨텍스트 전환 비용이 증가합니다. 더 중요한 것은 동시에 실행될 수 있는 php-fpm 프로세스 수가 CPU 수를 초과하지 않는다는 것입니다.

설정 방법은 코드에 따라 다릅니다.

코드가 CPU를 많이 사용하는 경우 pm.max_chindren은 CPU의 코어 수를 초과할 수 없습니다. 그렇지 않은 경우 pm.max_chindren 값을 CPU 코어 수보다 크게 설정하는 것이 매우 현명합니다.

공식:

은 N + 20%와 M/m 사이입니다.

매개변수 설명:

N은 CPU 코어 수입니다.

M은 PHP가 활용할 수 있는 메모리 양입니다.

m은 각 PHP 프로세스에서 사용하는 평균 메모리 양입니다.

동적 메서드에 적용됩니다.

정적 방법: M / (m * 1.2)

물론 max_children을 구성하는 안전한 방법도 있습니다. 정적 모드에 적용됩니다.

1. 먼저 max_childnren을 비교적 큰 값으로 설정합니다.

2. 일정 시간 동안 안정적으로 실행한 후 php-fpm 상태에서 최대 활성 프로세스를 관찰합니다.

3. 그런 다음 max_children을 그보다 크게 설정합니다.

pm.max_requests: 처리 후 각 하위 프로세스가 다시 시작되는 요청 수를 나타냅니다. 이 매개변수는 이론적으로는 마음대로 설정할 수 있지만, 메모리 누수의 위험을 방지하기 위해서는 적당한 수치를 설정하는 것이 좋다.

추천 비디오 튜토리얼: PHP 비디오 튜토리얼

위 내용은 PHP는 일반적으로 몇 개의 프로세스를 엽니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.