Heim  >  Artikel  >  Backend-Entwicklung  >  php-fpm最近大量的创建和关闭进程的问题?

php-fpm最近大量的创建和关闭进程的问题?

WBOY
WBOYOriginal
2016-06-06 20:12:531350Durchsuche

 php-fpm最近大量的创建和关闭进程的问题?

这张图片是fpm运行时进程数量。
机器上运行了两个fpm端口分别是9000、9002,运行的是不同的业务。
9000端口还基本稳定,但是9002看起来很不稳定!

php-fpm-9002.conf 配置

<code>[global]

error_log = /data/error/php-fpm.log-9002

log_level = error
events.mechanism = epoll
process.max = 4096
rlimit_files = 65535

[www]

listen = 127.0.0.1:9002

listen.backlog = 8192


pm = dynamic
pm.max_children = 256
pm.start_servers = 64
pm.min_spare_servers = 32
pm.max_spare_servers = 64
         
pm.max_requests = 10000

pm.status_path = /phpstatus 


access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
    
slowlog = /data/error/$pool.log.slow-9002

request_slowlog_timeout = 2s 
    
request_terminate_timeout = 15s

</code>

fpm error log

<code>[01-Apr-2016 17:36:45] ERROR: failed to ptrace(PEEKDATA) pid 28033: Input/output error (5)
[01-Apr-2016 20:14:27] ERROR: failed to ptrace(PEEKDATA) pid 21882: Input/output error (5)
[01-Apr-2016 20:57:12] ERROR: failed to ptrace(PEEKDATA) pid 21923: Input/output error (5)
[01-Apr-2016 22:18:58] ERROR: failed to ptrace(PEEKDATA) pid 23378: Input/output error (5)
[02-Apr-2016 21:35:43] ERROR: failed to ptrace(PEEKDATA) pid 28565: Input/output error (5)
[03-Apr-2016 20:05:08] ERROR: failed to ptrace(PEEKDATA) pid 9252: Input/output error (5)
[03-Apr-2016 22:05:22] ERROR: failed to ptrace(PEEKDATA) pid 9951: Input/output error (5)
[04-Apr-2016 14:44:06] ERROR: failed to ptrace(PEEKDATA) pid 8669: Input/output error (5)
[04-Apr-2016 21:31:51] ERROR: failed to ptrace(PEEKDATA) pid 24320: Input/output error (5)
[05-Apr-2016 00:12:03] ERROR: failed to ptrace(PEEKDATA) pid 10573: Input/output error (5)</code>

这个errlog的时间点其实和fpm进程起伏其实对应不上。

不知道是什么原因引起的,这种问题该如何去查?

回复内容:

 php-fpm最近大量的创建和关闭进程的问题?

这张图片是fpm运行时进程数量。
机器上运行了两个fpm端口分别是9000、9002,运行的是不同的业务。
9000端口还基本稳定,但是9002看起来很不稳定!

php-fpm-9002.conf 配置

<code>[global]

error_log = /data/error/php-fpm.log-9002

log_level = error
events.mechanism = epoll
process.max = 4096
rlimit_files = 65535

[www]

listen = 127.0.0.1:9002

listen.backlog = 8192


pm = dynamic
pm.max_children = 256
pm.start_servers = 64
pm.min_spare_servers = 32
pm.max_spare_servers = 64
         
pm.max_requests = 10000

pm.status_path = /phpstatus 


access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
    
slowlog = /data/error/$pool.log.slow-9002

request_slowlog_timeout = 2s 
    
request_terminate_timeout = 15s

</code>

fpm error log

<code>[01-Apr-2016 17:36:45] ERROR: failed to ptrace(PEEKDATA) pid 28033: Input/output error (5)
[01-Apr-2016 20:14:27] ERROR: failed to ptrace(PEEKDATA) pid 21882: Input/output error (5)
[01-Apr-2016 20:57:12] ERROR: failed to ptrace(PEEKDATA) pid 21923: Input/output error (5)
[01-Apr-2016 22:18:58] ERROR: failed to ptrace(PEEKDATA) pid 23378: Input/output error (5)
[02-Apr-2016 21:35:43] ERROR: failed to ptrace(PEEKDATA) pid 28565: Input/output error (5)
[03-Apr-2016 20:05:08] ERROR: failed to ptrace(PEEKDATA) pid 9252: Input/output error (5)
[03-Apr-2016 22:05:22] ERROR: failed to ptrace(PEEKDATA) pid 9951: Input/output error (5)
[04-Apr-2016 14:44:06] ERROR: failed to ptrace(PEEKDATA) pid 8669: Input/output error (5)
[04-Apr-2016 21:31:51] ERROR: failed to ptrace(PEEKDATA) pid 24320: Input/output error (5)
[05-Apr-2016 00:12:03] ERROR: failed to ptrace(PEEKDATA) pid 10573: Input/output error (5)</code>

这个errlog的时间点其实和fpm进程起伏其实对应不上。

不知道是什么原因引起的,这种问题该如何去查?

<code>request_slowlog_timeout = 2s </code>

你可以尝试禁用这句话试试

这个是9002的php-fpm
pm = dynamic
pm.max_children = 256
pm.start_servers = 64
pm.min_spare_servers = 32
pm.max_spare_servers = 64

看一下9000的php-fpm配置是不是
pm=static

http://www.jb51.net/article/37749.htm

==========================================
观察一下cpu与内存的使用情况。应该是这方面的原因,开的进程太多,负载太高了。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn