ホームページ  >  記事  >  バックエンド開発  >  PHPページの実行時間、データベースの読み書き数、関数呼び出し数などを取得します。 (THINKphp)_PHPチュートリアル

PHPページの実行時間、データベースの読み書き数、関数呼び出し数などを取得します。 (THINKphp)_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:09:19888ブラウズ

THINKphp には、実行ステータスをデバッグする効果があります:

プロセス:0.2463s (ロード:0.0003s 初期化:0.0010s 実行:0.1095s テンプレート:0.1355s )|DB:13 クエリ 0 書き込み| キャッシュ:2 取得、0 書き込み| UseMem :415 kb|LoadFile:20|CallFun:63,1370

それが表すもの:

実行情報:全体の実行時間 0.2463 秒 (読み込み: 0.0003 秒、初期化: 0.0010 秒、実行: 0.1095 秒、テンプレート: 0.1355 秒) | : 13 読み取り操作、0 書き込み操作 | 使用メモリ: 415 kb ロードされた関数呼び出し: 63 (カスタム)、1370 (組み込み)

以下で分析してみましょうこのデータは取得されましたか?

PHP はページの実行時間を取得します:

コードをコピーします コードは次のとおりです:

/**
* 現在時刻を取得します
*/
function getMicrotime() {

list ($usec, $sec ) =explode(" ", microtime());
return ((float) $usec + (float) $sec);


使用法: 上記のメソッドは、現在時刻とページの実行時間を取得できます。このメソッドをプログラムの最初と最後で別々に実行すると、最終的な時間差がページの実行時間になります。原理は非常に簡単です。

データベースの読み取りと書き込みの回数を取得する

データベースへの挿入と読み取りの際に、実行が成功するたびに、$i++を1回、
これはtpのdbクラスのメソッドです。 Nの方式は自動蓄積方式です。 PHPページの実行時間、データベースの読み書き数、関数呼び出し数などを取得します。 (THINKphp)_PHPチュートリアル
同様に、キャッシュもこのように計算されます

メモリオーバーヘッド
memory_get_usageは、プログラムの最初と最後に呼び出すことができます

ロードされたファイルの数です。
get_owned_files: include、include_once、require または require_once を使用してインクルードされたすべてのファイルの名前を取得します。

つまり、すべての include と require でファイルの数を取得し、インポートされたファイルの配列を返すことができます。公式サイトの例:




コードをコピー
コードは次のとおりです: // このファイルは abc.php です

include 'test1.php';
include_once 'test2 .php';
require 'test3.php';

$include_files();
echo "$filename"; ?>



返された結果は次のとおりです:

abc.php
test1.php
test2.php
test3.php
test4.php

関数呼び出しメソッド
これを初めて見たときは、次のように感じます各メソッドで呼び出されるときに自動的に +1 されますが、各メソッドの記述は信頼できないようです。グループは長い間議論し、最終的に PHP で関数を見つけました。カスタムおよび組み込みメソッドを含む、PHP ファイルにインポートされるすべてのメソッドの形式

公式 Web サイトからの例:




コードをコピー

コードは次のとおりです:


function myrow($id, $data)
{
return "$id$datan" } $ arr = get_dependent_functions(); print_r($arr);

結果は次のようになります:



コードは次のとおりです:


Array
(
[内部] => 配列
(
[0] => zend_version
[1] => func_num_args
[2] => func_get_arg
[3] => func_get_args [4] => strlen [5 ] => strcmp [6] => strncmp [750] => bccomp
)

(
[0] => myrow
)
)



user はカスタム メソッドであり、internal は組み込みメソッドの配列です。

拡張機能:

get_defined_constants すべての定数を定義する配列を取得します
get_defind_functions すべての関数を定義する配列を取得します
get_defined_vars すべての変数を定義する配列を取得します
get_declared_classes 定義されたクラスの配列を返します



http://www.bkjia.com/PHPjc/327374.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/327374.html

技術記事

THINKphp には、実行ステータスをデバッグする効果があります: プロセス:0.2463 秒 (ロード:0.0003 秒、初期化:0.0010 秒、実行:0.1095 秒、テンプレート:0.1355 秒)|DB:13 クエリ 0 書き込み|キャッシュ:2 取得、0 書き込み|UseMem: 415k...


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。