Nginx 如何调试php fpm性能?

Nginx 如何调试php fpm性能?,nginx,php,Nginx,Php,网页加载速度非常慢,甚至需要6秒钟才能开始发送页面数据,然后在0.2秒内发送,并在0.19秒内生成 我怀疑这是由php或浏览器引起的,所以问题一定是由nginx和php5 fpm处理的服务器引起的 一位服务器管理员说,问题确实是由错误配置的fpm或nginx造成的 如何调试导致减速的原因 设置:php5.3、mysql5、linux、nginx、php5-fpm这个问题对于StackOverflow来说可能太宽泛了,因为这个问题可能跨越多个页面和主题 然而,如果问题只是如何调试PHP-FPM的性

网页加载速度非常慢,甚至需要6秒钟才能开始发送页面数据,然后在0.2秒内发送,并在0.19秒内生成

我怀疑这是由php或浏览器引起的,所以问题一定是由nginx和php5 fpm处理的服务器引起的

一位服务器管理员说,问题确实是由错误配置的fpm或nginx造成的

如何调试导致减速的原因


设置:php5.3、mysql5、linux、nginx、php5-fpm

这个问题对于StackOverflow来说可能太宽泛了,因为这个问题可能跨越多个页面和主题

然而,如果问题只是如何调试PHP-FPM的性能,那么答案就会简单得多——使用Strace和下面的脚本

#!/bin/bash

mkdir trc
rm -rf trc/*.trc

additional_strace_args="$1"

MASTER_PID=$(ps auwx | grep php-fpm | grep -v grep | grep 'master process'  | cut -d ' ' -f 7)

summarise=""
#shows total of calls - comment in to get 
#summarise="-c"

nohup strace -r $summarise -p $MASTER_PID -ff -o ./trc/master.follow.trc >"trc/master.$MASTER_PID.trc" 2>&1 &

while read -r pid;
do
    if [[ $pid != $MASTER_PID ]]; then
        #shows total of calls
        nohup strace -r $summarise -p "$pid" $additional_strace_args >"trc/$pid.trc" 2>&1 &
    fi
done < <(pgrep php-fpm)

read -p "Strace running - press [Enter] to stop"

pkill strace
#/bin/bash
mkdir trc
rm-rf trc/*.trc
附加策略参数=“$1”
主流程PID=$(ps auwx | grep php fpm | grep-v grep | grep“主流程”| cut-d'-f 7)
summary=“”
#显示要获取的呼叫总数-在中添加注释
#summary=“-c”
nohup strace-r$摘要-p$主PID-ff-o./trc/MASTER.follow.trc>“trc/MASTER.$MASTER\u PID.trc”2>&1&
而read-r-pid;
做
如果[[$pid!=$MASTER\U pid]];然后
#显示呼叫总数
nohup策略-r$摘要-p“$pid”$附加策略参数>“trc/$pid.trc”2>&1&
fi

完成<我注意到这个脚本在Debian上运行不好,我将下面的
mkdir
语句更改为
mkdir-p
,并将
MASTER\u PID=$(…)
行更改为
MASTER\u PID=$(pgrep-f“php-fpm:MASTER process”)