2011-02-02 6 views
0

私のウェブサイトでは、プロジェクトスクリプトを購入した様々なプログラマーからさまざまなPHPコードが実行されています。いくつかはセッションを使用します(セッション開始など...) いくつかの外部のPHPファイルを使用し、そこに数学を行い、返すか、いくつかのものをエコーし​​ます。あるものは、検索スクリプトのように、尋ねられたときにのみ実行されます。PHPスクリプトの速度を互いに独立して測定する方法は?さまざまな方法?

Is there an easy way for me to monitor, temporary, all the various scripts's their delays in millisecond sothat I can see whats going on below the water?

私が何かを作る一度プログラマを見ていると、ページの下に文章や様々なミリ秒数のこれらの長いliststなど

Q1がありました。このためのデフォルトのPHP関数はありますか?これをどのように呼び出すか/トグルするのですか?
Q2。そのような計算が行われる様々な方法は何ですか?
Q3。彼らはどれくらい信頼できますか?はミリ秒理論か実際の実世界の結果ですか?

あなたの洞察に感謝します! サム

答えて

5

私はthnikの方法がありません。しかし、そのeasy.Atは、スクリプトの先頭には、単純にこれを置く:

$s = microtime(true); 

を、そのまま終了通常

$e = microtime(true); 
echo round($e - $s, 2) . " Sec"; 

で、あなたはラウンド()の2番目のパラメータを残すだろうが、あなたの場合あなたのスクリプトが時間を「0秒」と答えていることが分かります。答えが出るまで数を増やしてください。 check this for more

+0

すごく簡単です。ありがとうございました+1、私は今すぐ1つの数値を得る、私は上に開始を入れ、非常に底で終わる0,02今、私は道に沿って複数のエコーを置くことができるので、それは私に追加の遅れを伴う途中の旅ログ、またはより良いが、すべての作品の独立した時間値? – Sam

+0

ありがとう私はハイパーリンクを見落としました!これは私の用法のためにうまくいくと思っています... – Sam

+0

あなたのスクリプトのどこでもmicrotime()を使って、2つではなく、より大きな値の$ s.useとの違いをround()します。 – ayush

1

Apache Webサーバーを実行している場合、スクリプトのタイミングについての非常に正確な情報を提供できるapache benchmarking toolが必要です。

FirefoxのFirebug拡張機能は、Webブラウザーから、自分の要求の所要時間を調べるツールとしても役立ちます。

+0

ありがとうございました、その瞬間へのアクセスはありませんが、最高の精度のためのあなたのヒントは+1です – Sam

1

最も簡単/最速の方法はXDebugのように、プロファイリングをサポートしているデバッグ拡張機能をインストールすることですが、どちらも、これらの方法の

は、純粋なPHPコードのためのタイマーです。その後、プロファイリングツール(例:KCachegrind)を実行してスクリプトをプロファイリングし、結果をグラフ化し、メモリ、実行時間などを最も多く使用するものを把握することができます。

また、スタックトレースなどのさまざまな機能も提供します。 。

+0

ハードディスクの使用状況をグラフィカルに表現するSpaceMongerを思い出させます。共有ホスティングでこれを実装できますか?共有ホスティングで全く許可されていれば、インストールは非常に複雑ですか? +1 – Sam

+0

これはホスティングプロバイダによって異なります。いくつかは、あなたが拡張機能をロードすることを許可するかもしれない/再コンパイルして、いくつかは既にロードされているかもしれません。ほとんどの場合、残念ながら、そうではありません。私が知っているのは、Dreamhostがあなたを許すかもしれないということだけです。それ以外は私には分かりません。 – netcoder

関連する問題