php-fpm优化

1、查找问题的相关配置
可以设置日志级别为DEBUG
log_level = debug

pm.status_path=/test
可以设置一个路径为观察状态的

rlimit_files可以设大一点

还有就是access_log的格式,这个是在某一个池中的格式
access.log
access.format = %R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"

其中相关参数参考函数fpm_log_write,说明如下:
C:cpu时间
d:表示持续时间
e:factcig环境变量
f:脚本名
l:content-length
m: method
M:内存
n: pool name
o: headers output
p: pid
P:父进程id
q: query string
Q:?
r: request URI
R:远程IP
s:状态码
T(t):当前时间
u: remote user
{:复杂变量


2、upstream如果是同一台机,使用unix的方式
upstream backend {
        server unix:/dev/shm/backend.sock;
        keepalive 128;
}

location ~ \.php$ {
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;user = nginx
        fastcgi_pass backend;
    }

然后在php-fpm中设置
listen =  /dev/shm/backend.sock
pm = static
pm.max_children = 1000

pm.max_children中设置为多少,可以自己实际压测;
这里要注意/dev/shm/backend.sock的权限为775;
php-fpm.conf中还有以下配置要注意:
listen.backlog = -1
rlimit_files
rlimit_core

posted @ 2015-06-20 23:44  szphper  阅读(185)  评论(0)    收藏  举报