突然的平均负载平均增加与相同的用户数量,并没有改变

我的网站一直运行正常,直到昨天,负载平均值都低于1.突然,昨天它开始performance糟糕。 我得到的平均负荷高达50。

我没有改变服务器和网站的任何内容,使用本网站的用户数量仍然与前几天相同。 以下是顶部命令的截图:

在这里输入图像说明

我甚至不知道从哪里开始发现哪里出了问题。 php进程的虚拟内存看起来非常高,但是再次奇怪的是,它们似乎没有问题。 或者也许他们不是,我完全没有意识到这一点。

问题的原因是什么,我将如何去解决它?

screencap似乎显示了一些php进程,这表明你正在apache2下运行php作为一个cgi脚本(而不是php脚本模块),或者你有独立的进程作为php命令行运行,或者php解释器。

相关的mysqld CPU,表明他们都在做与MySQL有关的事情(或者可能是共同发生的事情)

那些php不是以apache用户身份运行的,build议您需要提供更多关于这些进程的信息,以及为什么他们可能会突然使用更多的资源。

如果你想获得更多关于php过程的信息,我使用这样的东西作为一个单一的内存来转储一些PID信息…

首先从顶部输出中select一个PID号码,例如从输出中select8371,在这个例子中,我只是显示了一个从睡眠10000的值,我做了一个testing…

 # pid=17837; { cat /proc/${pid}/{cmdline,environ} && ls -l /proc/${pid}/{cwd,exe}; } | tr '\0' '\n'; sleep 10000 HOSTNAME=workstations01.config TERM=xterm SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=123.123.123.123 55069 22 SSH_TTY=/dev/pts/2 USER=userXXX LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35: SSH_AUTH_SOCK=/tmp/ssh-lGNBN31178/agent.31178 MAIL=/var/spool/mail/userXXX PATH=/usr/kerberos/bin:/opt/admin/bin:/usr/local/bin:/bin:/usr/bin:/opt/mx/bin INPUTRC=/etc/inputrc PWD=/home/userXXX LANG=en_US.UTF-8 SHLVL=1 HOME=/home/userXXX LOGNAME=userXXX SSH_CONNECTION=123.123.123.123 22 LESSOPEN=|/usr/bin/lesspipe.sh %s G_BROKEN_FILENAMES=1 _=/bin/sleep lrwxrwxrwx 1 userXXX users 0 May 29 13:11 /proc/17837/cwd -> /home/userXXX lrwxrwxrwx 1 userXXX users 0 May 29 13:12 /proc/17837/exe -> /bin/sleep 

(有很多方法可以看到PHP的调用是什么,这只是一个快速的例子)