我在尋找一個功能,可以讓我看到所有正在運行的php腳本的當前狀態,並向我顯示它們在此刻消耗了多少內存/ io/cpu。相當於Linux的頂級命令的PHP
我有一個wordpress網站,其中安裝了很多插件,而且我目前遇到了性能問題,我懷疑它與許多插件之一有關。
我正在尋找一個快速的方法來檢查哪個腳本/插件消耗最多的IO /內存/ CPU。
我在尋找一個功能,可以讓我看到所有正在運行的php腳本的當前狀態,並向我顯示它們在此刻消耗了多少內存/ io/cpu。相當於Linux的頂級命令的PHP
我有一個wordpress網站,其中安裝了很多插件,而且我目前遇到了性能問題,我懷疑它與許多插件之一有關。
我正在尋找一個快速的方法來檢查哪個腳本/插件消耗最多的IO /內存/ CPU。
您可以安裝Xdebug擴展名並使用其profiling functions。該配置文件將顯示您在每個功能上花費了多少時間,因此您可能會找到消耗這麼多時間的WP插件。
+1良好的通話,忘了Xdebug(我應該拍攝) – DaveRandom
恐怕沒有這樣的命令或工具可以在PHP中「原生」工作。
既然你已經標記了Apache,請看看Apache的狀態模塊:http://httpd.apache.org/docs/2.0/mod/mod_status.html
輸出變爲像http://www.apache.org/server-status
當然,這需要你有你的Web服務器的根訪問權限,但我相信它顯示有用的信息。這可以告訴你,哪些URL佔用了大部分CPU時間。進一步調查你將需要一個像(提到)Xdebug的分析器。
我做了一個快速的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>';
?>
不知道的不明原因的downvote的合法性此問題,*但* *請添加有關您的操作系統/體系結構的更多信息。 PHP(AFAIK)沒有內置任何內容來讓你做這樣的事情,但可能通過操作系統來做某些事情,這主要取決於你的服務器是如何設置的。 – DaveRandom