Articles of профилирование

Задержка профилирования PHP перед отключением

// VERY BEGIN OF SCRIPT $_SERVER['HX_startTime'] = microtime(true); … // MY SHUTDOWN FUNCTION register_shutdown_function('HX_shutdownFn'); function HX_shutdownFn() { // formatTimeSpan is simple time to string conversion function var_dump(formatTimeSpan(microtime(true) – $_SERVER['HX_startTime'])); } … // VERY END OF SCRIPT var_dump(formatTimeSpan(microtime(true) – $_SERVER['HX_startTime'])); У меня 0.0005s . в конце скрипта и 1.1 . при выключении. Это нормально? Где потеряно […]

Как избежать повторного использования тиков в каждом файле в PHP 7

обзор В PHP 5.6 кажется, что добавление declare(ticks=1) а затем использование register_tick_function() будет следовать за любыми включениями и соответствующим образом предоставлять информацию профилирования. В PHP 7+, однако теперь кажется, что я должен добавить declare(ticks=1) в каждом файле. Я использую это для профилирования каждого вызова метода при загрузке страницы и теперь не хочу добавлять это в […]

Как настроить профилирование PHP на Eclipse?

Я установил Eclipse PDT на Galileo. Я могу запускать и отлаживать сайты PHP, которые настроены на XAMPP. Дело в том, что я хочу профилировать один из сайтов, но не могу по жизни понять, как это установить. Существует меню профилирования, когда я щелкнул правой кнопкой мыши проект PHP, но не указал, как оттуда оттуда. BTW Я […]

Есть ли альтернатива KCacheGrind для Mac Os X оттуда?

Я ищу альтернативу KCacheGrind или, по крайней мере, двоичный пакет для Mac Os X? Я бы использовал KCacheGrind с XDebug для PHP, но Mac Os X – это правильная среда здесь … спасибо Изменить: я знаю, что могу использовать MacPort, но я ищу альтернативу этой болезненной установки. Может быть, что-то «в маке»

Профиль медленных страниц PHP в производстве

Есть ли способ профилирования только медленных страниц PHP на производственном сервере? На данный момент мы записываем медленные страницы в текстовый файл, но без дополнительной информации трудно сказать, почему они медленные (не постоянно медленные). Раньше я использовал профайлер Xdebug , но я действительно не хочу включать это на наших производственных серверах, так как мы можем получить […]

Как время «сервера приложений» связано с «временем браузера» и «временем транзакции» в newrelic?

Я контролирую приложение PHP с помощью NewRelic, и я очень смущен некоторыми номерами, представленными в обзоре моего приложения. Мое приложение состоит из PHP webapp, который обслуживает страницы для веб-браузеров с одной стороны (очевидно 🙂 и выполняет запросы к бэкэнду Java с другой стороны: Браузер <-> PHP Webapp -> Java Backend Я знаю, что некоторые из […]

Профилирование XDebug в PHP – не может получить выход

У меня странная проблема. Я установил XDebug для профилирования приложения PHP, над которым мы работаем. Я считаю, что все настроено правильно, но я не получаю выход, когда я его запускаю. Моя конфигурация выглядит так: zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so [XDebug] xdebug.profiler_append = 1 xdebug.profiler_enable = 0 (I've tried this both on and off) xdebug.profiler_enable_trigger = 1 xdebug.profiler_output_dir = "/debug/xdebug/profiler_output_dir" […]

«Профилировщик с визуализацией» для PHP с «полной визуализацией backtrace»?

В настоящее время я использую xdebug profiler & KCacheGrind . Но формат GallGrind не хранит полную трассировку вызова, а только родительские дочерние трассировки вызовов (посмотрите на Kcachegrind / callgrind неточно для диспетчерских функций, о чем я говорю). Есть ли профилировщик с визуализацией с полной визуализацией обратной линии, доступной для PHP? Я посмотрел PHP Quick Profiler […]

Профилирующий код по производству

Я обожаю идею внедрения кода профайла на производственном сервере и хотел бы получить рекомендации по лучшей практике. Очевидно, что это плохая идея профилировать ВСЕ-запросы из-за дополнительных накладных расходов, поэтому я изучал некоторые методы, которые случайным образом будут вызывать профилировщик за запрос. Что-то вроде 1 профиля за каждые 10 000 запросов. Я знаю, что есть способ […]

Профилирование памяти PHP

Каков хороший способ профилировать использование памяти PHP-страницы? Например, чтобы узнать, сколько памяти использует мои данные, и / или какие вызовы функций выделяют большую часть памяти. xdebug, похоже, не предоставляет информацию о памяти в своей функции профилирования. xdebug предоставляет его в своей функции трассировки. Это очень близко к тому, что я хочу, за исключением того, что […]