21 сентября Badoo PHP Meetup #3: производительность

Всем привет!

Я Павел Мурзаков, тимлид серверной команды Badoo. Мы обожаем PHP, вкладываемся в его развитие и развитие сообщества вокруг него. 21 сентября планируем провести третий Badoo PHP Meetup. Приглашаем спикеров и гостей!
sqc0sdh-24ngnpds357o3og03nw.png
В этот раз в качестве общей темы встречи выбрали производительность PHP-кода и PHP-бэкенда в целом. Для нас эта область важна, так как, с одной стороны, у нас большая инфраструктура на PHP, и вопрос производительности — это вопрос экономии денег.  С другой — нам важно предоставлять пользователям сервис высокого качества, поэтому бэкенд должен отвечать достаточно быстро, ведь от этого зависит активность пользователей и их впечатления от сервиса.

На митапе хотим обсудить, как решают подобные вопросы в разных компаниях, а именно: как следить за производительностью, профилировать и локализовывать проблемы, когда и что стоит оптимизировать и как это делать.

Регистрация по ссылке, начало в 12:00, гостей встречаем с 11:00. 

Программа


Павел Мурзаков, 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


«Когда производительности PHP-кода не хватает: пишем С драйвер для PHP + RoadRunner»


Основные тезисы:

  • RoadRunner: протокол и особенности реализации
  • PHP + Go — это быстро, надо ли еще оптимизировать?
  • Реализация клиентского кода на С: с чего начать и когда вообще стоит переносить что-то в PHP-extension?
  • Сравнение производительности PHP-FPM, RoadRunner и RoadRunner + C.
  • Бонус:, а если асинхронно? :)


Место спикера свободно!


Если вам есть что рассказать о производительности PHP-бэкенда — пишите мне на Хабрапочту pmurzakov

gzpk3epo4bl7tazpbwobf_uhjr0.jpeg

Адрес: Москва, Цветной бульвар, д. 2, подъезд А, Cafetera (1 этаж)
Начало докладов в 12:00.
 
Встречать гостей начнем в 11:00, приходите выпить кофе перед началом и занять места получше!
 
В перерывах можно будет посмотреть офис Badoo, после митапа — афтепати для желающих. 

Пожалуйста, при регистрации указывайте свои имена и фамилии, как в паспорте (на русском языке). Для пропуска в БЦ захватите с собой документ, удостоверяющий личность. 
 
Количество мест ограничено, обязательно дождитесь подтверждения регистрации (придет за пару недель до митапа). 

Трансляция будет на нашем YouTube-канале, анонсы будут в группах VK и FB. Записи опубликуем там же и в блоге на Habr.

Присоединяйтесь к чату митапа, там регулярно бывают интересные обсуждения!

© Habrahabr.ru