php-fpm의 프로세스 수는 설정에 따라 동적 프로세스와 정적 프로세스로 나눌 수 있습니다.
정적: 증가 또는 감소 없이 지정된 수의 php-fpm 프로세스를 직접 시작합니다.
동적: 처음에 특정 수의 php-fpm 프로세스를 열고 요청이 커지면 동적으로 증가 php-fpm 프로세스 수가 상한에 도달하고, 유휴 상태일 때 유휴 프로세스 수가 자동으로 하한으로 해제됩니다.
이 두 가지 실행 방법은 서버의 실제 요구에 따라 조정될 수 있습니다.
먼저 이것과 관련된 여러 매개변수에 대해 이야기해 보겠습니다. pmpm.max_childrenpm.start_serverspm.min_spare_servers 및 pm.max_spare_servers입니다.
pm은 사용할 방법을 나타냅니다. 즉, 정적
정적 또는 동적
동적이라는 두 가지 값을 선택할 수 있습니다. 이전 버전에서는 동적을 apache-like라고도 합니다. 구성 파일에 제공된 지침에 주의하세요. static
静态或者dynamic
动态。在老一些的版本中,dynamic又被称作apache-like。这个要注意看配置文件给出的说明了。
下面4个参数的意思分别为:
pm.max_children
静态方式下开启的php-fpm进程数量;
pm.start_servers
动态方式下的起始php-fpm进程数量;
pm.min_spare_servers
动态方式下的最小php-fpm进程数量;
pm.max_spare_servers
动态方式下的最大php-fpm进程数量。
如果将dm设置为static,那么就只有pm.max_children这个参数生效。系统会开启设置的数量个php-fpm进程。
如果将dm设置为dynamic,那么pm.max_children参数会失效,后面3个参数生效。系统会在php-fpm运行开始的时候启动pm.start_servers
个php-fpm进程,然后根据系统需求动态在pm.min_spare_servers和pm.max_spare_servers之间调整php-fpm进程数。
选择哪种执行方式比较好
事实和Apache一样,我们运行的PHP程序在执行完成后,或多或少都会有内存泄露的问题。这也是为什么开始的时候一个php-fpm进程只占用3M左右内存,运行一段时间后就会上升到20到30M的原因。所以,动态方式因为会结束掉多余进程,可以回收释放一些内存,所以推荐在内存较少的服务器上使用。
具体最大数量根据物理内存总大小除以20M得到。比如说512M的VPS,建议pm.max_spare_servers
pm.max_children
정적 모드에서 시작된 php-fpm 프로세스 수 pm.start_servers
동적 모드 시작 수
pm.min_spare_servers
동적 모드의 최소 php-fpm 프로세스 수 pm.max_spare_servers
최대 php-fpm 프로세스 수 동적 모드 fpm 프로세스 수입니다.
pm.start_servers
php-fpm 프로세스를 시작한 다음 시스템 요구 사항에 따라 pm.min_spare_servers와 pm.max_spare_servers 사이의 php-fpm 프로세스 수를 동적으로 조정합니다. 🎜🎜🎜어떤 실행 방법이 더 나은지 선택하세요🎜🎜🎜사실은 Apache와 동일합니다. 우리가 실행하는 PHP 프로그램은 실행이 완료된 후 다소 메모리 누수가 발생합니다. 이는 php-fpm 프로세스가 처음에는 약 3M 정도의 메모리만 차지하다가 일정 기간 실행된 후에는 20~30M으로 늘어나는 이유이기도 합니다. 따라서 동적 방식은 중복된 프로세스를 종료하고 일부 메모리를 재활용 및 해제할 수 있으므로 메모리가 적은 서버에서 사용하는 것이 좋습니다. 🎜🎜구체적인 최대 개수는 총 물리적 메모리 크기를 20M로 나눈 값입니다. 예를 들어, 512M VPS의 경우 pm.max_spare_servers
값을 20으로 설정하는 것이 좋습니다. pm.min_spare_servers는 서버의 부하에 따라 5~10 사이로 설정하는 것이 더 적합합니다. 🎜🎜메모리가 더 큰 서버에 비해 정적으로 설정하면 효율성이 향상됩니다. php-fpm 프로세스를 자주 전환하면 지연이 발생하므로 메모리가 충분히 크면 정적 효과가 더 좋습니다. 이 숫자는 전체 물리적 메모리 크기를 30M로 나누어 얻을 수 있습니다. 예를 들어, 2GB 메모리가 있는 서버는 50으로 설정될 수 있고, 4GB 메모리가 있는 서버는 100으로 설정될 수 있습니다. 🎜🎜위 내용은 참고용입니다! 🎜🎜🎜추천 튜토리얼: 🎜PHP 비디오 튜토리얼🎜🎜위 내용은 PHP는 정적인가요, 동적인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!