PHP程序的静态和动态执行方法的比较

PHP程序的静态和动态执行方法的比较
本文阐述了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程序设计有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部