Самый простой способ профилировать скрипт PHP

Никаких расширений не требуется, просто используйте эти две функции для простого профилирования.

// Call this at each point of interest, passing a descriptive string
function prof_flag($str)
{
    global $prof_timing, $prof_names;
    $prof_timing[] = microtime(true);
    $prof_names[] = $str;
}

// Call this when you're done and want to see the results
function prof_print()
{
    global $prof_timing, $prof_names;
    $size = count($prof_timing);
    for($i=0;$i<$size - 1; $i++)
    {
        echo "{$prof_names[$i]}
"; echo sprintf("   %f
", $prof_timing[$i+1]-$prof_timing[$i]); } echo "{$prof_names[$size-1]}
"; }

Вот пример вызова prof_flag() с описанием для каждой контрольной точки и prof_print() в конце:

prof_flag("Start");

   include '../lib/database.php';
   include '../lib/helper_func.php';

prof_flag("Connect to DB");

   connect_to_db();

prof_flag("Perform query");

   // Get all the data

   $select_query = "SELECT * FROM data_table";
   $result = mysql_query($select_query);

prof_flag("Retrieve data");

   $rows = array();
   $found_data=false;
   while($r = mysql_fetch_assoc($result))
   {
       $found_data=true;
       $rows[] = $r;
   }

prof_flag("Close DB");

   mysql_close();   //close database connection

prof_flag("Done");
prof_print();

Результат выглядит так:

Начать
0,004303
Подключиться к БД
0,003518
Выполнить запрос
0,000308 php-include
Получить данные
0,000009
Закрыть базу данных
0,000049
Готово

php

profiling

2022-10-13T00:39:08+00:00