Доступно

Способы ускорения PHP-приложений [deworker.pro] [Дмитрий Елисеев]

Тема в разделе "Курсы по программированию", создана пользователем Knayz, 21 сен 2024.

Цена: 3000р.-90%
Взнос: 294р.
100%

Основной список: 26 участников

Резервный список: 5 участников

Статус обсуждения:
Комментирование ограничено.
  1. 21 сен 2024
    #1
    Knayz
    Knayz ЧКЧлен клуба

    Складчина: Способы ускорения PHP-приложений [deworker.pro] [Дмитрий Елисеев]

    44339da0-f225-4d09-a115-4234b2c64c01.jpg

    На прошлом стриме мы с вами разобрались с разделением кода на модули и микросервисы. Пока записываются и монтируются скринкасты проведём наш очередной стрим на полезные смежные темы.
    В этот раз поговорим про способы оптимизации запуска и работы PHP-приложений:
    Рассмотрим подходы к ускорению работы веб-приложения. От простого включения OpCache, кеширования конфигурации и ленивой инициализации сервисов до Preload с JIT и RoadRunner, асинхронности, использования Fiber-ов и других нюансов в разных фреймворках. Потренируемся на проектах с бэнчмарками. Поговорим про возможные проблемы, удобство программирования stateless-сервисов и про передачу контекста запроса.

    UPD: Провели первую часть, где показали оптимизацию запуска существующих классических приложений на Slim и Symfony:
    4dd27474-cf92-4eeb-8498-3aa59430b6a9.png

    Содержание
    • 00:00:00 - Приветствие
    • 00:00:53 - Вопросы в чате
    • 00:06:18 - Как работает проект и что мы можем ускорить
    • 00:31:07 - Демо-приложение на SlimPHP
    • 00:41:36 - Сервис Benchmark для замеров
    • 00:46:30 - Замеры производительности без оптимизаций
    • 00:49:28 - Случай из жизни
    • 00:52:26 - Кэширования опкодов с OpCache
    • 01:01:14 - Компиляция по требованию с JIT
    • 01:07:22 - Ручной прогрев OpCache через Preload
    • 01:24:34 - Где может пригодиться JIT
    • 01:30:23 - Кэширование конфигурации приложения
    • 01:53:57 - Долгоживущие приложения
    • 02:03:38 - Переход с PHP-FPM на RoadRunner
    • 03:07:48 - Демо-приложение на Symfony
    • 03:19:24 - OpCache и готовый Preload
    • 03:23:22 - Подключение RoadRunner к Symfony
    • 03:33:50 - Для Laravel и других фреймворков
    • 03:37:43 - Обзор результата и нюансы
    • 03:43:50 - Ответы на вопросы
    И во второй части написали свой асинхронный Loop с таймером на PHP как на JavaScript и показали способы написания новых приложений на асинхронных фреймворках:
    • 00:00:00 - Приветствие
    • 00:01:29 - Про митап с докладом про асинхронность
    • 00:10:58 - Синхронная природа воркеров RoadRunner
    • 00:19:36 - Неудобства от Doctrine с EntityManager
    • 00:26:30 - Пересоздание EntityManager при ошибках
    • 00:40:18 - Сравнение PHP и Java по типизации с Go и TypeScript
    • 01:09:06 - Как устроен waitRequest в RoadRunner
    • 01:23:19 - Пишем Loop для отложенного выполнения кода
    • 01:47:04 - Пишем setTimeout на PHP
    • 02:10:35 - Блокирующий и неблокирующий код
    • 02:15:58 - Неблокирующая загрузка fetch по HTTP
    • 02:34:17 - EventLoop в JavaScript
    • 02:46:30 - Конкурентное и асинхронное выполнение
    • 02:52:56 - Объект Promise и ожидание результата через await
    • 03:11:03 - Ожидание группы через Promise::all
    • 03:13:32 - Идея генераторов с yield
    • 03:20:27 - Концепция зелёных потоков и Fiber
    • 04:00:10 - Практическая польза неблокирующего режима
    • 04:10:56 - Асинхронный сервер AmPHP
    • 04:24:35 - OpCache для консольных приложений
    • 04:25:20 - Скелет демонстрационного приложения
    • 04:29:06 - Работа с системными сигналами в Docker
    • 04:35:09 - Написание проекта на AmPHP HTTP Server
    • 04:40:09 - Использование Connection Pool для БД
    • 04:47:42 - Установка pcntl для работы с сигналами
    • 04:49:27 - Код приложения и тест производительности
    • 05:14:59 - Асинхронная инфраструктура ReactPHP
    • 05:19:25 - Отлов ошибок в Promise и await
    • 05:23:33 - Написание проекта на ReactPHP
    • 05:49:52 - Инфраструктура Swoole и OpenSwoole
    • 06:00:05 - Написание проекта на OpenSwoole
    • 06:26:45 - Проблема состояния и Statefull-сервисов
    • 06:40:04 - Stateless-сервисы и передача параметров запроса
    • 06:50:30 - Структура для описания контекста запроса
    • 07:05:58 - Использование ORM при кооперативном выполнении
    • 07:14:33 - Ответы на вопросы
    Цена: 3000руб
    Скрытая ссылка
     
    Последнее редактирование модератором: 23 сен 2024
    1 человеку нравится это.
  2. Последние события

    1. skladchik.com
      Складчина доступна.
      8 окт 2024
    2. ksawdem
      ksawdem участвует.
      7 окт 2024
    3. sutrium
      sutrium участвует.
      5 окт 2024
    4. Brinivere
      Brinivere участвует.
      4 окт 2024

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      8 окт 2024
    2. skladchik.com
      Взнос составляет 147р.
      4 окт 2024
    3. skladchik.com
      Складчина активна.
      4 окт 2024
    4. skladchik.com
      Сбор взносов начинается 04.10.2024.
      1 окт 2024
Статус обсуждения:
Комментирование ограничено.