php-fpm中慢日志查询优化

目录

一:查找和配置

二:优化


一:查找和配置

(一)根据慢日志找到执行时间长的程序

(1)慢日志配置

request_slowlog_timeout = 2

slowlog = var/log/slow.log

(2)查询

grep -v "^$" slow.log | cut -d " " -f 3,2 | sort | uniq -c | sort -k1,1nr | head -n 50

查询慢日志最多的50个url

二:优化

(1)优化程序

(2)参数优化

pm = dynamic

pm.max_children = 150   最大进程数

pm.start_servers = 100  初始化进程数

pm.min_spare_servers = 50   最小空闲进程

pm.max_spare_servers = 150  最大空闲进程

pm.max_requests = 102400  每个进程最大处理请求( 是每个进程处理多少个请求后重启(因为 PHP 偶尔会有内存泄漏,所以需要重启))

request_terminate_timeout = 60 超时时间 (这个是脚本执行最长时间,如果超过时间nginx会杀掉主进程,返回客户端502,所有如果服务器端没bug,尽量设置时间长点)

nginx-fpm是多进程(每个进程只有一个线程)

(3)nginx.conf多核cpu优化

四核

worker_processes 3;

worker_cpu_affinity 0010 0100 1000;

这意思就是开启另外三个进程分别分配到cpu1,cpu2,cpu3

worker_processes auto;  让nginx自动分配 好像都分配到cpu0上去了

两核

worker_processes 2; 

worker_cpu_affinity 01 10;

两核开启8进程

worker_processes 8; 

worker_cpu_affinity 01 10 01 10 01 10 01 10;

你可能感兴趣的:(nginx,nginx,php)