Самый простой способ профилировать скрипт 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
2021-12-03T00:46:10+00:00
2022-10-13T00:39:08+00:00
WhiteR
Вопросы с похожей тематикой, как у вопроса:
Самый простой способ профилировать скрипт PHP
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.