Комментарии 15
Отличная статья и стрим посмотреть также все рекомендую
@butschster мужик! фарт-тайм -- мужики. rr -- мужики! темпурал вообще топ. с огромным удовольствием читаю ваши подборки php новостей в вашем чате и на телеграфе, увы, пхпшторм дневник ушёл куда-то в другую сторону
Как вашим решением можно отдебажить продакшен? Ведь часто есть проблемы именно на конкретном сервере
Blackfire) Кстати есть в планах их коллектор примерить к Buggregator, если подойдет, то можно будет слать трейсы прям в багри с прода. А так если проблема на конкретном серваке, то клонируй сервак и на нем уже профилируй, если проблема именно с конкретным серверов. Но как по мне, так попахивает дебаг сервера, а не приложения, раз все работают норм, а один сервер не норм.
@butschster Использование любого профилировщика на проде будет не бесплатно, в т.ч. Blackfire
Первая ссылка в поисковике: https://github.com/ahocquard/blackfire-overhead-costs
@CodeMaster125 может у вас какой-то более конкретный вопрос по дебажинью продакшена? Если проблема на конкретном сервере, то, наверное, дело уже не в коде и профайлер тут не поможет?
В моём кейсе - очень долгий запрос в базу, даже при простейшем Select на конкретном сервере. Локально это не отслеживается, на чистом приложении доступ к базе до 1 сек. Делаю вывод что проблема не в сети, а в приложении и нужен какой-то инструмент, чтобы отсмотреть происходит задержка
Если поднять селф-хостед sentry, то условно бесплатно (условно, потому что сентри потребляет много ресурсов и его хостинг будет стоить денег). Но зато вы увидите и самые долго выполняющиеся скрипты на проде и даже что именно внутри выполняется долго (вплоть до конкретного запроса к бд например)
@butschster рекомендую изучить excimer в качестве профилировщика. Excimer умеет настраивать периодичность профилировки и с помощью этого можно контролировать дополнительную нагрузку.
Мы внедрили в skyeng excimer и это позволило профилировать прод практически бесплатно, но с низкой точностью, а на тесте можно точность и увеличить.
Профилировка в excimer запускается внутри php кода, и её можно запускать при соблюдении каких-то условий, например, при получении особенной куки.
P.S. Sentry бандл под капотом тоже excimer использует
Да да да, уже изучали этот профайлер. https://github.com/wikimedia/mediawiki-php-excimer В планах сделать интеграцию с ним. Спасибо!
Что за выражения такие, говнокод?
Видел я таких спецов много, которые кричали на мой код или код моих коллег, говнокод, при этом мой проект покупала другая компания вместе с моей командой за внушительную сумму, а этого спеца наняли нам в помощь и чтобы я постепенно передал ему все знания по системе, потому что компании был нужен проект на время для интеграции с вайлдберис, когда вайлдберрис только активно вышла на рынок и им была нужна устойчивая система кредитования клиентов под ключ. :)
Ну если твой проект покупала другая компания, то тебе бояться нечего, твой код идеален и запашка в нем быть не может! Спи спокойно.
А я вот часто пишу говнокод и мои коллеги пишут и наш код обязательно проходит код ревью с обратной связью, с пояснением что именно можно улучшить и т.д. Это помогает нам расти и повышать качество нашей работы.
Помню в бородатые годы, кстати, на хабре было много постов на тему говнокода:
И конечно же мой любимый пост https://habr.com/ru/articles/313884/
P.S. Кстати, пора бы обновить свой профиль на Хабре, у тебя там стоит вилка ЗП от 120к, по рассказам у тебя там должно быть намного больше!
Для xhprof вы указали этот репозиторий, но если зайти на https://pecl.php.net/package/xhprof то там указан этот =)
Профилирование PHP (Laravel) приложений с xhprof. Учимся искать ботлнеки