php-fpm 최적화 방법
php-fpm에는 두 가지 방법이 있습니다. 하나는 특정 수의 php-fpm 프로세스를 늘리거나 줄이지 않고 직접 여는 것입니다. 프로세스 시작 시, 요청량이 커지면 php-fpm 프로세스 수가 동적으로 상한까지 증가하고 유휴 상태인 경우 유휴 프로세스 수가 자동으로 하한으로 해제됩니다.
이 두 가지 실행 방법은 서버의 실제 요구에 따라 조정될 수 있습니다.
사용할 일부 매개변수는 pm, pm.max_children, pm.start_servers, pm.min_spare_servers 및 pm.max_spare_servers입니다.
pm은 사용 방법을 의미하며 정적 또는 동적 중에서 선택할 수 있는 두 가지 값이 있습니다.
다음 4개 매개변수의 의미:
pm.max_children: 정적 모드에서 열리는 php-fpm 프로세스 수. 동적 모드에서는 php-fpm 프로세스의 최대 수를 제한합니다(여기서 pm.max_spare_servers 값을 참고하세요) pm.max_children 이하만 가능)
pm.start_servers: 동적 모드에서 시작하는 php-fpm 프로세스 수.
pm.min_spare_servers: 동적 모드에서 유휴 상태에 있는 php-fpm 프로세스의 최소 수입니다.
pm.max_spare_servers: 동적 모드에서 유휴 상태에 있는 php-fpm 프로세스의 최대 수입니다.
dm이 정적으로 설정된 경우 pm.max_children 매개변수만 적용됩니다. 시스템은 설정된 수의 php-fpm 프로세스를 엽니다.
dm을 동적으로 설정하면 4가지 매개변수가 모두 적용됩니다. php-fpm이 실행되기 시작하면 시스템은 pm.start_servers php-fpm 프로세스를 시작한 다음 시스템 필요에 따라 pm.min_spare_servers와 pm.max_spare_servers 사이의 php-fpm 프로세스 수를 동적으로 조정합니다.
그렇다면 서버에는 어떤 실행 방식이 더 좋을까요? 실제로 Apache와 마찬가지로 실행 중인 PHP 프로그램도 실행 후 메모리 누수가 발생합니다. 이는 php-fpm 프로세스가 처음에는 약 3M의 메모리만 차지하며 일정 기간 실행된 후에는 20-30M로 증가하는 이유이기도 합니다. (www. Script School)
따라서 동적 방식은 중복된 프로세스를 종료하고 일부 메모리를 재활용 및 해제할 수 있으므로 메모리가 적은 서버나 VPS에서 사용하는 것이 좋습니다. 구체적인 최대량은 메모리/20M 기준으로 구해집니다.
예를 들어 512M VPS의 경우 pm.max_spare_servers를 20(512*0.8/20)으로 설정하는 것이 좋습니다. pm.min_spare_servers는 서버의 부하에 따라 5~10 사이로 설정하는 것이 더 적합합니다.
그리고 상대적으로 메모리가 큰 서버의 경우 정적으로 설정하면 효율성이 향상됩니다.
php-fpm 프로세스를 자주 전환하면 지연이 발생하므로 메모리가 충분히 크면 정적 효과가 더 좋습니다. 메모리/30M 단위로 수량을 얻을 수도 있습니다.
예를 들어, 2GB 메모리가 있는 서버는 50으로 설정할 수 있고, 4GB 메모리가 있는 서버는 100으로 설정할 수 있습니다.
예를 들어 512M vps인 경우 설정된 매개변수는 다음과 같습니다.
코드 예:
pm=dynamic
pm.max_children=20
pm.start_servers=5
pm.min_spare_servers=5
pm.max_spare_servers=20
로그인 후 복사
는 메모리를 가장 많이 절약하고 실행 효율성을 향상시킬 수 있습니다.
위 내용은 php-fpm 최적화 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!