Linux平台PHP5.4设置FPM线程数量的方法

本文实例讲述了Linux平台PHP5.4设置FPM线程数量的方法。分享给大家供大家参考,具体如下:

PHP5.4安装完毕后,FPM的默认配置文件位于/usr/local/php/etc/php-fpm.conf.default

?

1

2

>cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

>vim /usr/local/php/etc/php-fpm.conf

输入”/www”,搜索www所在的POOL

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

pm = dynamic

; The number of child processes to be created when pm is set to 'static' and the

; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.

; This value sets the limit on the number of simultaneous requests that will be

; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.

; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP

; CGI. The below defaults are based on a server without much resources. Don't

; forget to tweak pm.* to fit your needs.

; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'

; Note: This value is mandatory.

pm.max_children = 5

; The number of child processes created on startup.

; Note: Used only when pm is set to 'dynamic'

; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2

pm.start_servers = 2

; The desired minimum number of idle server processes.

; Note: Used only when pm is set to 'dynamic'

; Note: Mandatory when pm is set to 'dynamic'

pm.min_spare_servers = 1

; The desired maximum number of idle server processes.

; Note: Used only when pm is set to 'dynamic'

; Note: Mandatory when pm is set to 'dynamic'

pm.max_spare_servers = 3

; The number of seconds after which an idle process will be killed.

; Note: Used only when pm is set to 'ondemand'

; Default Value: 10s

;pm.process_idle_timeout = 10s;

; The number of requests each child process should execute before respawning.

; This can be useful to work around memory leaks in 3rd party libraries. For

; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.

; Default Value: 0

;pm.max_requests = 500

解释一下:

pm = dynamic 如何控制子进程,选项有static和dynamic,默认采用dynamic;如果选择static,则由pm.max_children指定固定的子进程数。

如果选择dynamic,则由以下参数决定:

pm.max_children 子进程最大数
pm.start_servers 启动时的进程数
pm.min_spare_servers 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers 保证空闲进程数最大值,如果空闲进程大于此值,则进行清理。对于专用服务器,pm可以设置为static。
pm.max_requests 设置每个子进程重生之前服务的请求数. 对于可能存在内存泄漏的第三方模块来说是非常有用的. 如果设置为 '0′ 则一直接受请求. 设置为500就可以了(默认0)。

将值修改为如下:

?

1

2

3

4

5

pm.max_children = 32

pm.start_servers = 16

pm.min_spare_servers = 8

pm.max_spare_servers = 32

pm.max_requests = 500

:wq 保存退出VIM

?

1

2

>/usr/local/php/sbin/php-fpm -t

NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful

测试配置文件是否正常,没问题,杀掉当前的FPM进程

?

1

>/usr/local/php/sbin/php-fpm

启动

希望本文所述对大家PHP程序设计有所帮助。

本文链接:https://my.lmcjl.com/post/14290.html

展开阅读全文

4 评论

留下您的评论.