Самый простой способ профилировать скрипт PHP - PullRequest
278 голосов
/ 22 августа 2008

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

Я бы хотел отметить что-то, что показывает мне дамп всех вызовов функций и сколько времени они заняли, но я также согласен с тем, чтобы что-то связывать с конкретными функциями.

Я попытался поэкспериментировать с функцией microtime :

$then = microtime();
myFunc();
$now = microtime();

echo sprintf("Elapsed:  %f", $now-$then);

но это иногда дает мне отрицательные результаты. Кроме того, это большая проблема, чтобы посыпать это всем моим кодом.

Ответы [ 12 ]

5 голосов
/ 22 августа 2008

Для бенчмаркинга, как в вашем примере, я использую пакет pear Benchmark . Вы устанавливаете маркеры для измерения. Класс также предоставляет несколько помощников для презентаций, или вы можете обрабатывать данные по своему усмотрению.

Я на самом деле заключил его в другой класс с помощью метода __destruct. Когда скрипт завершается, выходные данные регистрируются через log4php в syslog, поэтому у меня есть много данных о производительности для работы.

2 голосов
/ 04 апреля 2013

XDebug нестабилен и не всегда доступен для конкретной версии php. Например, на некоторых серверах я все еще использую php-5.1.6 - это то, что поставляется с RedHat RHEL5 (а btw все еще получает обновления по всем важным вопросам), а недавний XDebug даже не компилируется с этим php. В итоге я перешел на DBG отладчик php benchmarking обеспечивает синхронизацию функций, методов, модулей и даже строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...