我正在寻找一个功能,可以让我看到所有正在运行的php脚本的当前状态,并显示他们此时消耗了多少内存/ io / cpu。
我有一个wordpress网站,其中安装了很多插件,我目前遇到的性能问题我怀疑与许多插件之一有关。
我正在寻找一种快速检查哪个脚本/插件消耗最多IO /内存/ CPU的方法。
答案 0 :(得分:3)
我做了一个快速的PHP脚本(非常狡猾的解析它,但它有效,但任何人都想让它更整洁,请工作)
<?php
echo (" <h2>Processes : </h2> <br> <center>");
$cmd = `/usr/bin/top -b -n1 `;
//// parse the page //////////////////
$cmd=str_replace(" "," ",$cmd);
$cmd=str_replace(" "," ",$cmd);
$cmd=str_replace(" "," ",$cmd);
$cmd=str_replace(" "," ",$cmd);
$cmd=str_replace(" "," ",$cmd);
$cmd=str_replace(" ","</td><td>",$cmd);
$cmd=str_replace("\n","</td></tr><tr><td>",$cmd);
$cmd=str_replace("<tr><td></td><td>","<tr><td>",$cmd);
$cmd=str_replace("<tr><td>PID","<tr><td COLSPAN=10 height=50></td></tr><tr bgcolor=e0e0e0><td>PID",$cmd);
///////////////////////////////////////
echo '<table width=900 align=middle border=0><tr><td>';
echo $cmd;
echo '</td></tr></table>';
?>
答案 1 :(得分:2)
您可以安装Xdebug扩展程序并使用其profiling functions。该配置文件将显示每个功能花费了多少时间,因此您可能能够找到耗费大量时间的WP插件。
答案 2 :(得分:0)
我担心没有这样的命令或实用工具可以在PHP中“原生”工作。
由于您已经标记了Apache,请查看Apache的状态模块:http://httpd.apache.org/docs/2.0/mod/mod_status.html
输出类似于http://www.apache.org/server-status
这当然要求您拥有对您的网络服务器的root访问权限,但我相信它会显示有用的信息。这可以告诉您,哪些URL占用了大部分CPU时间。为了进一步调查,你需要一个像(提到的)Xdebug的分析器。