実稼働サーバーでは、アプリケーションの実行時間を確認する必要があります (既にローカル マシンで作成しました)。
ただし、microtime() を AppController の beforeFilter と afterFilter の間に配置すると、非常に小さな結果が得られます。たとえば、$runningTime=0.20
数秒です。
しかし、ブラウザにアドレスを書き込んでから出力ページが表示されるまでの時間は、runningTime の 100 倍です。
アプリケーションを遅くするリークを見つける必要があります。アドレスをブラウザに書き込んでからブラウザに出力するまでの時間差をつかむことはできますか? 原因がわかるかも知れません。のラッパーのように見える定数
を見つけました。TIME_START
microtime()
質問する
931 次
2 に答える
0
以下のURLを参照してください
他の誰かが興味を持っている場合に備えて、layout.ctpに次のコードを追加することでこれを解決しました。これをコントローラーで実行して変数として渡すこともできます。これは、もう少し古典的なMVCに適している可能性がありますが、各コントローラーでコードを複製せずに、サイトのすべてのページでこれを実行したかったのです。
Page rendered in <?php echo round((getMicroTime() - $_SERVER['REQUEST_TIME']) * 1000) ?>ms.
于 2012-09-02T08:28:20.707 に答える
0
0.2秒の実行時間は私には大丈夫のようです。スクリプトが20秒で実行されている場合は、測定を開始するポイントをスクリプトの開始に向けて移動し、結果を確認します。
または..xdebugプロファイリングを使用して、CPUサイクルがどこに向かっているのかを確認します。
于 2012-09-02T08:28:26.787 に答える