PHP相当于Linux top命令

时间:2011-12-08 14:20:10

标签: php performance apache

我正在寻找一个功能,可以让我看到所有正在运行的php脚本的当前状态,并显示他们此时消耗了多少内存/ io / cpu。

我有一个wordpress网站,其中安装了很多插件,我目前遇到的性能问题我怀疑与许多插件之一有关。

我正在寻找一种快速检查哪个脚本/插件消耗最多IO /内存/ CPU的方法。

3 个答案:

答案 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的分析器。