Всем привет!
Я Павел Мурзаков, тимлид серверной команды Badoo. Мы обожаем PHP, вкладываемся в его развитие и развитие сообщества вокруг него. 21 сентября планируем провести третий Badoo PHP Meetup. Приглашаем спикеров и гостей!
В этот раз в качестве общей темы встречи выбрали производительность PHP-кода и PHP-бэкенда в целом. Для нас эта область важна, так как, с одной стороны, у нас большая инфраструктура на PHP, и вопрос производительности — это вопрос экономии денег. С другой — нам важно предоставлять пользователям сервис высокого качества, поэтому бэкенд должен отвечать достаточно быстро, ведь от этого зависит активность пользователей и их впечатления от сервиса.
На митапе хотим обсудить, как решают подобные вопросы в разных компаниях, а именно: как следить за производительностью, профилировать и локализовывать проблемы, когда и что стоит оптимизировать и как это делать.
Регистрация по ссылке, начало в 12:00, гостей встречаем с 11:00.
Александр поделится опытом покрытия метриками нагруженного приложения и развития системного подхода в поиске проблемных мест и их оптимизации. Основные тезисы:
Традиционное PHP-приложение (т.е. mod_php, php-fpm и т. п.) каждый раз исполняет весь код с нуля. Это значит, что весь bootstrap приложения происходит заново на каждый запрос: инициализация окружения, подключение необходимых файлов, сборка DI-контейнеров, загрузка конфигов и прочее. Всё это одинаково для каждого запроса, и могло быть сделано один раз, но PHP приходится постоянно повторять эти действия. Поэтому, даже если бизнес-логика достаточно оптимизирована, мы всё равно будем тратить ресурсы впустую на инициализацию.
В докладе поговорим, как можно решить или минимизировать эту проблему:
Основные тезисы:
Если вам есть что рассказать о производительности PHP-бэкенда — пишите мне на Хабрапочту pmurzakov
Адрес: Москва, Цветной бульвар, д.2, подъезд А, Cafetera (1 этаж)
Начало докладов в 12:00.
Встречать гостей начнем в 11:00, приходите выпить кофе перед началом и занять места получше!
В перерывах можно будет посмотреть офис Badoo, после митапа — афтепати для желающих.
Пожалуйста, при регистрации указывайте свои имена и фамилии, как в паспорте (на русском языке). Для пропуска в БЦ захватите с собой документ, удостоверяющий личность.
Количество мест ограничено, обязательно дождитесь подтверждения регистрации (придет за пару недель до митапа).
Трансляция будет на нашем YouTube-канале, анонсы будут в группах VK и FB. Записи опубликуем там же и в блоге на Habr.
Присоединяйтесь к чату митапа, там регулярно бывают интересные обсуждения!
Я Павел Мурзаков, тимлид серверной команды Badoo. Мы обожаем PHP, вкладываемся в его развитие и развитие сообщества вокруг него. 21 сентября планируем провести третий Badoo PHP Meetup. Приглашаем спикеров и гостей!
В этот раз в качестве общей темы встречи выбрали производительность PHP-кода и PHP-бэкенда в целом. Для нас эта область важна, так как, с одной стороны, у нас большая инфраструктура на PHP, и вопрос производительности — это вопрос экономии денег. С другой — нам важно предоставлять пользователям сервис высокого качества, поэтому бэкенд должен отвечать достаточно быстро, ведь от этого зависит активность пользователей и их впечатления от сервиса.
На митапе хотим обсудить, как решают подобные вопросы в разных компаниях, а именно: как следить за производительностью, профилировать и локализовывать проблемы, когда и что стоит оптимизировать и как это делать.
Регистрация по ссылке, начало в 12:00, гостей встречаем с 11:00.
Программа
Александр Малащицкий, ведущий разработчик команды «Платформа» (Superjob)
Систематизация оптимизации
Александр поделится опытом покрытия метриками нагруженного приложения и развития системного подхода в поиске проблемных мест и их оптимизации. Основные тезисы:
- Чем плоха оптимизация без метрик, и почему Blackfire — не панацея;
- С каких метрик начала команда, как их хранит и как чуть не утонула в их количестве;
- К какому набору метрик пришли, и как он помогает находить проблемные места;
- Как в Superjob используют PHPSpy для снятия профайлинга с продакшена, и почему профайлинг — ещё одна метрика;
- Как сделать оптимизацию частью жизненного цикла разработки.
Павел Мурзаков, PHP Team Lead (Badoo)
«Боремся с shared-nothing моделью: PHP 7.4 preload, RoadRunner и другие»
Традиционное PHP-приложение (т.е. mod_php, php-fpm и т. п.) каждый раз исполняет весь код с нуля. Это значит, что весь bootstrap приложения происходит заново на каждый запрос: инициализация окружения, подключение необходимых файлов, сборка DI-контейнеров, загрузка конфигов и прочее. Всё это одинаково для каждого запроса, и могло быть сделано один раз, но PHP приходится постоянно повторять эти действия. Поэтому, даже если бизнес-логика достаточно оптимизирована, мы всё равно будем тратить ресурсы впустую на инициализацию.
В докладе поговорим, как можно решить или минимизировать эту проблему:
- Разберёмся, на что именно тратятся ресурсы, посмотрим в perf и исходники PHP.
- Поищем какие-то простые решения проблемы: как мы можем делать меньше инициализаций или сохранить данные между запросами.
- Опробуем новые достижения PHP-сообщества — PHP 7.4 preload и RoadRunner — и сравним их.
- Разберёмся, зачем нужен PHP 7.4 preload, если уже есть opcache, и как выжать из RoadRunner ещё больше.
Антон Шабовта zloyusr, энтузиаст асинхронного PHP (Onliner)
«Когда производительности PHP-кода не хватает: пишем С драйвер для PHP + RoadRunner»
Основные тезисы:
- RoadRunner: протокол и особенности реализации
- PHP + Go — это быстро, надо ли еще оптимизировать?
- Реализация клиентского кода на С: с чего начать и когда вообще стоит переносить что-то в PHP-extension?
- Сравнение производительности PHP-FPM, RoadRunner и RoadRunner + C.
- Бонус: а если асинхронно? :)
Место спикера свободно!
Если вам есть что рассказать о производительности PHP-бэкенда — пишите мне на Хабрапочту pmurzakov
Адрес: Москва, Цветной бульвар, д.2, подъезд А, Cafetera (1 этаж)
Начало докладов в 12:00.
Встречать гостей начнем в 11:00, приходите выпить кофе перед началом и занять места получше!
В перерывах можно будет посмотреть офис Badoo, после митапа — афтепати для желающих.
Пожалуйста, при регистрации указывайте свои имена и фамилии, как в паспорте (на русском языке). Для пропуска в БЦ захватите с собой документ, удостоверяющий личность.
Количество мест ограничено, обязательно дождитесь подтверждения регистрации (придет за пару недель до митапа).
Трансляция будет на нашем YouTube-канале, анонсы будут в группах VK и FB. Записи опубликуем там же и в блоге на Habr.
Присоединяйтесь к чату митапа, там регулярно бывают интересные обсуждения!
nefone
Если будет выложено видео на канале, хотелось бы видеть его порезанным на доклады, а не одним куском на 3 часа:) заранее спасибо!
Eugent
В прошлом году его выложили сначала целиком, а через некоторое время и по частям
alinaleena
Да-да, на нашем канале через некоторое время после митапа, как и всегда, будет плейлист с отдельными докладами.