這張圖片是fpm運行時進程數量。
機器上運行了兩個fpm連接埠分別是9000、9002,啟動並執行是不同的業務。
9000連接埠還基本穩定,但是9002看起來很不穩定!
php-fpm-9002.conf 配置
[global]error_log = /data/error/php-fpm.log-9002log_level = errorevents.mechanism = epollprocess.max = 4096rlimit_files = 65535[www]listen = 127.0.0.1:9002listen.backlog = 8192pm = dynamicpm.max_children = 256pm.start_servers = 64pm.min_spare_servers = 32pm.max_spare_servers = 64 pm.max_requests = 10000pm.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-9002request_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-9002log_level = errorevents.mechanism = epollprocess.max = 4096rlimit_files = 65535[www]listen = 127.0.0.1:9002listen.backlog = 8192pm = dynamicpm.max_children = 256pm.start_servers = 64pm.min_spare_servers = 32pm.max_spare_servers = 64 pm.max_requests = 10000pm.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-9002request_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與記憶體的使用方式。應該是這方面的原因,開的進程太多,負載太高了。