我的WordPress的网站是在群集环境中使用NFS,Nginx的,PHP的FMP,MySQL的基础设施托pipe在亚马逊ec2.Under负载/stream量php5-fpm进程进入D状态(不可连续的睡眠)和网站崩溃。 在检查与命令
echo w > /proc/sysrq-trigger; dmesg -c | less;
发现php-fpm处于阻塞状态内核堆栈跟踪
[6615425.408345] SysRq:显示阻塞状态[6615425.408362]任务
PC堆栈PID父亲[6615425.408444] PHP5-FPM d 0000000000000000 0 16616 12079 00000000 [6615425.408453] ffff880001793938 0000000000000246 ffff880001793fd8 0000000000014580 [6615425.408457] ffff880001793fd8 0000000000014580 ffff88001cad1770 ffff88001cad1770 [6615425.408460] ffff88006c88ba00 0000000000000082 ffffffffa0044190 ffff8800017939b0 [6615425.408463]呼叫跟踪:[6615425.408491] []? __rpc_wait_for_completion_task + 0x30 / 0x30 [sunrpc] [6615425.408497] [] schedule + 0x29 / 0x70 [6615425.408506] [] rpc_wait_bit_killable + 0x35 / 0x90 [sunrpc] [6615425.408511] [] __wait_on_bit + 0x60 / 0x90 [6615425.408516] []? __queue_work + 0x135 / 0x330 [6615425.408524] []? __rpc_wait_for_completion_task + 0x30 / 0x30 [sunrpc] [6615425.408528] [] out_of_line_wait_on_bit + 0x77 / 0x90 [6615425.408532] []? wake_atomic_t_function + 0x40 / 0x40 [6615425.408540] [] __rpc_wait_for_completion_task + 0x2d / 0x30 [sunrpc] [6615425.408553] [] nfs4_run_open_task + 0x11f / 0x170 [nfsv4] [6615425.408563] []? nfs4_get_open_state + 0x76 / 0x1b0 [nfsv4] [6615425.408571] [] nfs4_do_open + 0x1d8 / 0x930 [nfsv4] [6615425.408581] []? generic_lookup_cred + 0x15 / 0x20 [sunrpc] [6615425.408591] []? rpcauth_lookupcred + 0x77 / 0xc0 [sunrpc] [6615425.408603] []? nfs_do_access + 0x69 / 0x250 [nfs] [6615425.408610] [] nfs4_atomic_open + 0xd4 / 0xe0 [nfsv4] [6615425.408619] [] nfs4_file_open + 0xb9 / 0x1b0 [nfsv4]
我也经常在dmesg中发现php5-fpm segfault和errror 4。
操作系统是运行nfs-kernel-server的ubuntu 12.04LTS,在客户端操作系统是Ubuntu 13.04,其中nfsv4.I已经尝试升级NFS服务器的实例大小,并增加了NFS服务器线程但不起作用。
直到现在还找不到合适的解决scheme。