本文阐述了php-fpm的静态和动态
执行方法的比较。
分享给您
参考,如下:
当php-fpm
配置在前一段时间,它是在不经意间
发现他已经执行的两种方式。像Apache,他的
进程数也可分为动态和静态根据
设置。
但php-fpm也存在两种方式,一是直接打开指定数量的php-fpm进程,不再增加或减少;另一个是在开多个php-fpm进程的开始,当请求时间的增加,PHP FPM进程数限制的动态增加,当自动释放的自由时间过程的下限。
这两种不同的执行方式可以根据
服务器的实际需要进行
调整。
让我们从几个与此相关的
参数开始。他们是下午,pm.max_children,pm.start_servers,pm.min_spare_servers和pm.max_spare_servers。
PM意味着有两个值可以这样选择,静态(静态)或动态(动态),在旧版本中,动态为apache-like.this应注意在配置
文件中的说明。
以下4个参数的含义是:
pm.max_children:那是在一个静态的方式打开php-fpm进程数。
pm.start_servers:以动态方式初始php-fpm进程数。
pm.min_spare_servers:在一个动态的方式php-fpm的最小数目的过程。
pm.max_spare_servers:在一个动态的方式php-fpm进程的最大数字。
如果DM设置为静态的,唯一的pm.max_children参数实际上是有效的。
系统打开php-fpm进程数设置。
如果DM设置为动态的,然后pm.max_children参数无效,3个参数生效。该系统将开始pm.start_servers php-fpm进程在php-fpm
运行开始,然后调整php-fpm进程数之间的pm.min_spare_servers和pm.max_spare_servers动态地根据系统的需要。
那么,哪种执行方式对我们的服务器更好呢事实上,如Apache,PHP
程序执行后的我们或多或少可能有
内存泄漏。这就是为什么php-fpm进程占用的内存只有300万当它
启动时,它会上升到米后的一段时间。因此,动态方法可以回收一些内存,因为它将多余的过程,所以建议使用较少的内存的服务器或VPS,最大数是根据记忆/ 20m.for例获得,512m的VPS,建议pm.max_spare_servers被设置为20。至于pm.min_spare_servers,建议根据服务器的设置负载的
情况下,和适当的值是5 ~ 10之间。
对于一个大的存储服务器,设置为静态的效率就会提高。由于频繁开关php-fpm的过程也有时间延迟,它会有一个更好的静态效应当内存足够大,数量可根据记忆/ 30m.for例获得2GB内存的服务器可以被设置为50;4GB内存可以设置为100。
这一站是建立在512M的VPS,所以我设置以下参数:
PM =动态
下午max_children = 20。
下午start_servers = 5。
下午min_spare_servers = 5。
下午max_spare_servers = 20。
这可以节省内存并提高执行效率。
它附在各种参数上。
PM系列
如何建立一个程序经理
管理子过程。有效值:静态,动态按需,必须设置。
静态
子过程的数量是固定的(PM。max_children)。
按需
这个过程是产生在有需求时(当请求,而不是动态的,pm.start_servers开始启动该服务。
动态
过程的数量是动态设置在以下配置的基础:pm.max_children,pm.start_servers,pm.min_spare_servers,和pm.max_spare_servers。
pm.max_children int
点设置为静态
显示过程产生的数量,和PM设置为动态表示的子过程可以
创建的最大数量。它必须被建立起来。这个
选项设置,可以同时提供服务的请求数。在mpm_prefork像Apache和PHP的普通FastCGI php_fcgi_children的MaxClients设置
环境变量。
pm.start_serversin
集数子过程创建时开始启动。使用时只需将点设置为动态。
默认值:min_spare_servers +(max_spare_servers - min_spare_servers) / 2。
pm.min_spare_servers int
设置了空闲服务进程的最小数量。只有在PM设置为动态时才使用它。必须设置它。
pm.max_spare_servers int
设置空闲服务进程的最大数量。只有在PM设置为动态时才使用它。必须设置它。
pm.max_requests int
设置为服务请求的数量在每个子过程再生。这第三方模块可能有内存泄漏是非常有用的,如果它被设置为'0',请求总是接受,相当于php_fcgi_max_requests环境变量。默认值:0。
有关PHP相关内容的更多读者感兴趣的可以查看主题:PHP编程
教程安全,PHP面向对象编程教程
希望本文能对PHP程序设计有所帮助。