php-fpm最近大量的创建和关闭进程的问题?
程序员文章站
2022-04-10 21:25:51
...
这张图片是fpm运行时进程数量。
机器上运行了两个fpm端口分别是9000、9002,运行的是不同的业务。
9000端口还基本稳定,但是9002看起来很不稳定!
php-fpm-9002.conf 配置
[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
fpm error log
[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)
这个errlog的时间点其实和fpm进程起伏其实对应不上。
不知道是什么原因引起的,这种问题该如何去查?
回复内容:
这张图片是fpm运行时进程数量。
机器上运行了两个fpm端口分别是9000、9002,运行的是不同的业务。
9000端口还基本稳定,但是9002看起来很不稳定!
php-fpm-9002.conf 配置
[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
fpm error log
[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)
这个errlog的时间点其实和fpm进程起伏其实对应不上。
不知道是什么原因引起的,这种问题该如何去查?
request_slowlog_timeout = 2s
你可以尝试禁用这句话试试
这个是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与内存的使用情况。应该是这方面的原因,开的进程太多,负载太高了。
上一篇: php文件是什么 php文件怎么打开