Я обожаю идею внедрения кода профайла на производственном сервере и хотел бы получить рекомендации по лучшей практике. Очевидно, что это плохая идея профилировать ВСЕ-запросы из-за дополнительных накладных расходов, поэтому я изучал некоторые методы, которые случайным образом будут вызывать профилировщик за запрос. Что-то вроде 1 профиля за каждые 10 000 запросов.
Я знаю, что есть способ достичь такой задачи с помощью Facebook XHProf Profiler, но надеялся на подобное решение, используя xdebug.
Поэтому мои вопросы (предполагая, что xdebug является профилировщиком):
Любое другое понимание этого вопроса будет высоко оценено.
Не изобретайте велосипед. 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