PHP-FPM 卡住且 IO 较高

PHP-FPM 卡住且 IO 较高

实际上,我在共同托管服务器上使用PHP 5.6.3只有一个池。有时,我的 php-fpm 进程坚持 50% 的 WA我无法杀死它,甚至无法重新启动我的虚拟机。

我正在使用 245MB/3968MB,我的交换空间没有使用。

现在我没有任何线索,因为我什么也看不见,除了我的WA 陷入困境当我尝试逐个终止我的进程时,只有一个进程卡住了,我的php-fpm:池开发过程。

我在 iotop 或磁盘图上什么都看不到。目前我唯一能修复这个问题的方法是重置电源……

top 命令

top - 16:22:39 up 2 days,  1:06,  4 users,  load average: 2,00, 1,96, 17,02
Tasks:  90 total,   1 running,  89 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0,2 us,  0,2 sy,  0,0 ni, 50,0 id, 49,7 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:   4063552 total,  1270532 used,  2793020 free,   230532 buffers
KiB Swap:   731132 total,        0 used,   731132 free,   788548 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
18487 root      20   0 71264 3720 2920 S   0,3  0,1   0:00.54 sshd
    1 root      20   0 10648  832  692 S   0,0  0,0   0:01.96 init
    2 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kthreadd
    3 root      20   0     0    0    0 S   0,0  0,0   0:01.25 ksoftirqd/0
    5 root      20   0     0    0    0 S   0,0  0,0   0:00.00 kworker/u:0
    6 root      rt   0     0    0    0 S   0,0  0,0   0:00.04 migration/0
    7 root      rt   0     0    0    0 S   0,0  0,0   0:00.75 watchdog/0
    8 root      rt   0     0    0    0 S   0,0  0,0   0:00.02 migration/1
   10 root      20   0     0    0    0 S   0,0  0,0   0:01.34 ksoftirqd/1
   11 root      20   0     0    0    0 S   0,0  0,0   0:00.10 kworker/0:1
   12 root      rt   0     0    0    0 S   0,0  0,0   0:00.57 watchdog/1
   13 root       0 -20     0    0    0 S   0,0  0,0   0:00.00 cpuset
...
 3455 www-data  20   0  362m 111m  53m D   0,0  2,8   0:22.88 php5.6-fpm

iostat

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0,23    0,06    0,14   12,93    0,00   86,64

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,06     0,32    0,18    0,54     2,44     4,15    18,33     0,00    4,89    5,19    4,78   2,22   0,16

php-fpm.conf

[global]
pid = run/php-fpm.pid
error_log = /var/log/php5.6-fpm.log
include=/etc/php5.6/fpm/pool.d/*.conf

池 PHP

[dev]
user = www-data
group = www-data
listen = 0.0.0.0:60256
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
pm = dynamic
pm.max_children = 64
pm.start_servers = 28
pm.min_spare_servers = 8
pm.max_spare_servers = 64
pm.status_path = /phpfpmstatus
ping.path = /phpfpmping
ping.response = pong
access.log = /var/log/fpm-php/$pool.access.log
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
slowlog = /var/log/fpm-php/$pool.log.slow
request_slowlog_timeout = 120s
chdir = /
security.limit_extensions = 
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm-php/$pool-error.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 2000M
php_value[memory_limit] = 2000M

相关内容