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

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

Я знаю, что есть способ достичь такой задачи с помощью Facebook XHProf Profiler, но надеялся на подобное решение, используя xdebug.

Поэтому мои вопросы (предполагая, что xdebug является профилировщиком):

  1. Является ли такая функция даже целесообразной? Я бы хотел получить некоторые реальные данные из производственной среды, но не, если это означает, что пользователь может потерять из-за накладных расходов.
  2. Устанавливает ли xdebug при производстве сервер для злоумышленников / эксплуататоров каким-либо образом (при условии, что отладчик не включен)? Есть ли конфигурация котельной плиты для этого типа установки?
  3. Каков наилучший способ запуска профилировщика для соответствующего размера выборки?

Любое другое понимание этого вопроса будет высоко оценено.

Solutions Collecting From Web of "Профилирующий код по производству"

Не изобретайте велосипед. XHProf Profiler, безусловно, лучший инструмент для работы, когда дело доходит до кода профилирования в рабочей среде.

Ваши варианты включения профилирования в xdebug ограничены либо выполнением профилирования всегда через файл php.ini, либо файл .htaccess через xdebug.profiler_enable = 1 или выборочное включение профилирования через xdebug.profiler_enable_trigger = 1 . В последнем случае у вас должен быть установлен параметр XDEBUG_PROFILE GET или POST или отправить файл cookie с именем XDEBUG_PROFILE . Это означает, что, если кто-то озорной хочет, они могут замедлить ваш сервер до обхода, просто добавив этот параметр GET в кучу запросов.

Единственный вариант, который я мог видеть, – это профилирование относительно случайной выборки запросов, чтобы периодически создавать файл .htaccess в соответствующем каталоге, а затем перемещать его из каталога. Тем не менее, это менее желательно.

Если вы решите пойти с XHProf, взгляните на XHGUI .

http://phpadvent.org/2010/profiling-with-xhgui-by-paul-reinheimer