ManyChat и SuperJob приглашают PHP-разработчиков на митап по производительности бэкенда. Спикеры из Авито, «Ситимобила», ManyChat и SuperJob поделятся своим опытом и расскажут о практиках, которые позволяют создавать качественные и надежные продукты.
Встреча пройдёт 30 сентября в гибридном формате — офлайн в офисах SuperJob и ManyChat, а также онлайн с YouTube-трансляцией.
Подробности программы, ссылка для регистрации и бонус-трек — под катом.


Расскажу о том, как в попытках ускорить работу нашего сервиса мы обнаружили неожиданную особенность MariaDB. Из-за этой особенности было сложно понять, что одна из причин медленной работы сервиса связана с тем, как работает сервер баз данных.


Когда проект перестаёт справляться с возрастающей нагрузкой, нам приходится думать, за счёт чего можно увеличить производительность приложения. На примере эволюции ManyChat я расскажу, как и с помощью каких инструментов развивается бэкенд нашего продукта.
В выступлении затронем следующие темы:

В рамках доклада расскажу о том, как мы отказывались от заранее собранных файлов со словарями и переходили на их кэширование в APCU.
Примерный тайминг встречи, может на 5-10 минут отличаться в день проведения.
18:30 — Сбор участников в офисах
19:00 — Открытие встречи и начало трансляции
19:05 — Приключения разработчика в стране DBA. История о производительности MariaDB
19:35 — Когда сразу видно, или ошибки, которых можно было не допустить
20:05 — Перерыв
20:20 — Эволюция бэкенда в высоконагруженном проекте
20:55 — Использование APCU в качестве кэша
21:25 — Нетворкинг в офисах и завершение трансляции
Встреча пройдёт в гибридном формате, выбирайте, что вам удобнее:
Для участия нужно заполнить форму регистрации и выбрать формат посещения встречи. Офлайн-участникам отправим подтверждение регистрации, а онлайн-зрителям — ссылку для подключения и напоминание о трансляции.
Почему вообще мы решили поговорить про производительность бэкенда? И каких знаний чаще всего не хватает инженерам? Мы решили задать эти вопросы спикерам и с удовольствием делимся ответами.
Евгений Рейх, руководитель разработки кластера Marketplace в Авито
Евгений Лапшин, бэкенд-разработчик в ManyChat
Иван Лещев, пишет на PHP в Ситимобил
Иван Лещев, пишет на PHP в Ситимобил
Евгений Рейх, руководитель разработки кластера Marketplace в Авито
Евгений Лапшин, бэкенд-разработчик в ManyChat
Будем рады увидеть в комментариях ваши ответы на вопросы, каких знаний часто не хватает инженерам и почему важно думать о производительности. И, конечно, присоединяйтесь к митапу, чтобы обсудить эти и другие вопросы лично.
Встреча пройдёт 30 сентября в гибридном формате — офлайн в офисах SuperJob и ManyChat, а также онлайн с YouTube-трансляцией.
Подробности программы, ссылка для регистрации и бонус-трек — под катом.

Доклады
Приключения разработчика в стране DBA. История о производительности MariaDB
— Алексей Сладков, ведущий разработчик в группе «Поиск» в SuperJob
Расскажу о том, как в попытках ускорить работу нашего сервиса мы обнаружили неожиданную особенность MariaDB. Из-за этой особенности было сложно понять, что одна из причин медленной работы сервиса связана с тем, как работает сервер баз данных.
Когда сразу видно, или ошибки, которых можно было не допустить
— Иван Лещев, пишет на PHP в Ситимобил
- история про кеш, который сделал хуже;
- история про магию фреймворка;
- история про ТЗ, которое мы выполнили дословно.
Эволюция бэкенда в высоконагруженном проекте
— Евгений Лапшин, бэкенд-разработчик в ManyChat
Когда проект перестаёт справляться с возрастающей нагрузкой, нам приходится думать, за счёт чего можно увеличить производительность приложения. На примере эволюции ManyChat я расскажу, как и с помощью каких инструментов развивается бэкенд нашего продукта.
В выступлении затронем следующие темы:
- что такое SAPI;
- разные режимы работы PHP;
- как и в каких ситуация стоит отказаться от PHP в принципе.
Использование APCU в качестве кэша
— Евгений Рейх, руководитель разработки кластера Marketplace в Авито
В рамках доклада расскажу о том, как мы отказывались от заранее собранных файлов со словарями и переходили на их кэширование в APCU.
Расписание
Примерный тайминг встречи, может на 5-10 минут отличаться в день проведения.
18:30 — Сбор участников в офисах
19:00 — Открытие встречи и начало трансляции
19:05 — Приключения разработчика в стране DBA. История о производительности MariaDB
19:35 — Когда сразу видно, или ошибки, которых можно было не допустить
20:05 — Перерыв
20:20 — Эволюция бэкенда в высоконагруженном проекте
20:55 — Использование APCU в качестве кэша
21:25 — Нетворкинг в офисах и завершение трансляции
Участие
Встреча пройдёт в гибридном формате, выбирайте, что вам удобнее:
- прийти в офис SuperJob, чтобы пообщаться со спикерами (только 20 мест);
- посмотреть трансляцию в офисе ManyChat, чтобы обсудить доклады (30 мест);
- подключиться к онлайн-трансляции на YouTube, чтобы никуда не идти.
Для участия нужно заполнить форму регистрации и выбрать формат посещения встречи. Офлайн-участникам отправим подтверждение регистрации, а онлайн-зрителям — ссылку для подключения и напоминание о трансляции.
Бонус-трек
Почему вообще мы решили поговорить про производительность бэкенда? И каких знаний чаще всего не хватает инженерам? Мы решили задать эти вопросы спикерам и с удовольствием делимся ответами.
Почему и чем важна тема производительности бекенда?
Евгений Рейх, руководитель разработки кластера Marketplace в Авито
Скорость получения данных от бэкенда напрямую влияет на пользовательский опыт. Помимо этого, правильная оптимизация помогает экономить на инфраструктуре и делает компанию более эффективной.
Евгений Лапшин, бэкенд-разработчик в ManyChat
Если мы говорим о высоконагруженных проектах, то цена ошибки в таких системах намного выше: стоимость исправления, репутационные риски, потеря больших объёмов данных, медленная реакция на пользовательские запросы (как следствие churn rate) и т.д., и т.п. Тут нужно применять наиболее подходящие решения, учитывая специфику каждого конкретного проекта, его бизнес-логики и зависимости от third party систем. Нужно думать о вашей пропускной способности, о том, сколько денег вы тратите на разработку, поддержание и развитие вашей системы.
Иван Лещев, пишет на PHP в Ситимобил
Потому что просто докупить серверов — не выход, особенно если ошибка в плохом алгоритме.
Где чаще всего наблюдаются пробелы в знаниях у инженеров и как это влияет на процесс разработки?
Иван Лещев, пишет на PHP в Ситимобил
Плохая декомпозиция и несоблюдение принципа единой ответственности и, как следствие, проблемы с ростом проекта.
Евгений Рейх, руководитель разработки кластера Marketplace в Авито
Важно не то, где чаще всего наблюдаются проблемы — важны знания, отсутствие которых к этим проблемам может привести. Мне кажется, что разработчикам важно уметь видеть систему целиком, составлять ее карту и объяснять простыми словами.
Евгений Лапшин, бэкенд-разработчик в ManyChat
У этого вопроса есть несколько аспектов:
- Знание инструментов
Зачастую инженеры изучают инструмент в рамках текущих потребностей. Здорово, когда у специалиста есть энтузиазм развиваться в разные стороны и находить альтернативные решения — более эффективные и сильные, относительно имеющихся. А так же, чем лучше разработчик знает инструментарий, тем свободнее он себя чувствует в реализации поставленных задач.
- Глубина знаний кодовой базы проекта
Этот навык позволяет поставлять более качественные решения в сжатые сроки в контексте конкретной системы. Не все решения одинаково полезны/эффективны для разных проектов.
- Сильная продуктовая экспертиза
Очень важно погружаться не только в техническую составляющую, но и видеть потребности продукта в целом: как быстро он меняется; как обкатываются гипотезы; где продукт более гибкий, а в каких местах наоборот устоявшийся. Глубокое продуктовое понимание позволяет делать более точные решения, с точки зрения места, времени и обстоятельств.
В итоге, всё достаточно просто, чем компетентнее ты в этих вопросах, тем более сильные и качественные твои решения.
Будем рады увидеть в комментариях ваши ответы на вопросы, каких знаний часто не хватает инженерам и почему важно думать о производительности. И, конечно, присоединяйтесь к митапу, чтобы обсудить эти и другие вопросы лично.