2012-03-14 2 views
0

私の主な目標は、Zendで動作するWebアプリケーションのメモリ要件を決定することです。正常にxdebugをセットアップし、トレースファイルを生成してtracefile-analyser.phpを適用しました。今、私は結果を解釈するための助けが必要です。私の質問は、mysqlが必要としたメモリがその値に数えられるかどうかです。 1回のリクエストあたりの総メモリ消費量は本当ですか?それはPHPのメモリ管理ルーチンを使用しないようZend環境で生成されたxdebugトレースファイルでtracefile-analyser.phpの出力をintrerpretする方法

$ ./tracefile-analyser.php /var/www/simira/logs/profiles/trace.2043925204.xt memory-inclusive 

parsing...                                                                     
(49.88%)                                                                     

Done.                                                                      

Showing the 25 most costly calls sorted by 'memory-inclusive'.                                                        

                        Inclusive  Own                                             
function                 #calls time  memory time  memory                                          
--------------------------------------------------------------------------------------------------------------------                                          
{main}                   1 1.8332 19701712 0.0016 121392                                          
Zend_Loader_Autoloader::autoload            40 0.1397 12780440 0.0014 -11200                                          
Zend_Loader::loadFile               23 0.0959 10480432 0.0311 3501384                                          
Zend_Loader::loadClass               23 0.0980 10471760 0.0011 -12128                                          
call_user_func                 49 0.1063 10471704 0.0004  664                                          
Zend_Loader_Autoloader->_autoload            23 0.0992 10470800 0.0005  0                                          
Zend_Controller_Front->dispatch             1 1.3967 10284488 0.0022 390336                                          
Zend_Application->run               1 1.3970 10284200 0.0000  0                                          
Zend_Application_Bootstrap_Bootstrap->run          1 1.3969 10284200 0.0001  -392                                          
Zend_Controller_Dispatcher_Standard->dispatch         1 1.1260 9144376 0.0001  896                                          
include_once                 43 0.0786 7331968 0.0294 3679992 
...                                     
+0

GUIを使ってXEBUG - Profilerを使用して結果を表示します。 http://affinitybridge.com/blog/code-optimization-xdebug-and-kcachegrind – opHASnoNAME

答えて

1

MySQLのメモリ使用量、と私はあなたがMySQLサーバ側、クライアント側の意味ではなく、仮定は、含まれていません。このため、PHP(以降Xdebug)ではその情報を表示することはできません。

他の質問については、はい、1つのリクエストについてのみ正確な情報がトレースに表示されます。しかし、スクリプトが終了すると、ある種のメモリがすでに解放されている可能性があるので、{main}のメモリには表示されません。 xdebug_peak_memory_usage()を使用して、使用されるメモリの最大量を調べるだけです。

関連する問題