Laravel Octane для ускорения работы приложения // Сергей Сахаров

Поделиться
HTML-код
  • Опубликовано: 25 окт 2022
  • В этом видео Сергей расскажет о плюсах и минусах пакета Laravel Octane, особенностях работы, нюансах, которые стоит учитывать при переводе существующего приложения на Laravel Octane с примерами из практики
    Изучайте Git на практике: gogit.ru/
    Подписывайтесь на наш канал в Телеграм: t.me/flagstudio
    ВК: flagstudio
    Instagram: / thisisflagbaby

Комментарии • 24

  • @gian_tiaga
    @gian_tiaga Год назад +2

    Ожидал всё-таки услышать больше информацию. Это всё и так доступно на каждом бложике. А вот такие вопросы как работать с асинхронностью, очепередями, какие подводные камни и реальный опыт использования это интересно.

    • @FlagStudio
      @FlagStudio  Год назад

      Вопрос отправляется в копилочку на следующий митап, спасибо!

  • @sergeysaharov5750
    @sergeysaharov5750 Год назад +3

    Небольшое, но важное дополнение - можно использовать XDebug в связке Octane + Swoole. Для отладки необходимо использовать метод xdebug_break(). За подсказку спасибо Владимиру)

  • @jduxer
    @jduxer Год назад +6

    Смотрел на x2, вы так ржете прикольно.

    • @FlagStudio
      @FlagStudio  Год назад +1

      Главное на пробуй на 0,5))

    • @sergeysaharov5750
      @sergeysaharov5750 Год назад

      На х2 весь доклад выглядит прикольно)

  • @indigoram89
    @indigoram89 Год назад +2

    Вопрос - нужно ли запускать октан на сервере очередей и на крон-сервере, выполняющем запланированые задачи?

    • @sergeysaharov5750
      @sergeysaharov5750 Год назад +1

      Хороший вопрос! В данном случае есть две разные ситуации - обслуживание очереди и запуск artisan-команд по расписанию. Для первого случая, в котором участвуют очереди, нет необходимости в Octane, т.к. команда queue:work работает по тому же принципу - стартует фреймворк и обрабатывает очередь. Остановить её можно либо вручную, либо если возникнет исключение. Для второго случая, выполнение запланированных задач, он не поможет, т.к. Octane специализируется на обслуживании запросов. Но можно провести эксперимент)

    • @indigoram89
      @indigoram89 Год назад +2

      @@sergeysaharov5750 спасибо! всё логично =)

  • @indigoram89
    @indigoram89 Год назад +4

    Вопрос - в момент перезапуска октана будет момент, когда приложение не работает и если в этот момент придут запросы, то будет ошибка - как делать деплой без простоя?

    • @sergeysaharov5750
      @sergeysaharov5750 Год назад +1

      Тут придётся использовать механизм, который будет направлять трафик на "старую" версию приложения, пока "новая" версия не запустится и только после этого перенаправлять трафик на "новую" версию.

    • @indigoram89
      @indigoram89 Год назад

      @@sergeysaharov5750 а как это сделать если сервер один и там порт уже занят старой версией? новый экземпляр octane на запустится, пока старый работает

    • @sergeysaharov5750
      @sergeysaharov5750 Год назад +1

      @@indigoram89 Как вариант, можно использовать Kubernetes, который позволяет делать развёртывание обновлений без простоя, балансируя нагрузку между старыми и новыми версиями приложения

    • @indigoram89
      @indigoram89 Год назад

      @@sergeysaharov5750 согласен, но не все его используют, а другие варианты есть? ))

    • @sergeysaharov5750
      @sergeysaharov5750 Год назад

      @@indigoram89 Docker Swarm?)

  • @ivcha_max
    @ivcha_max Год назад +1

    кстати, одна из основных проблем php это однопоточность, это вечно приходится обходить разными способами T_T

  • @Do6po
    @Do6po Год назад +2

    У нас, на проектах, где используется GraphQL(пакет от Rebing), без октана приложение стартует в среднем 150мс, тяжелый запрос отрабатывает 50мс. В целом выходит ~200mc. С октаном, он же, 60мс. Профит тем выше от октана, чем больше маршрутов и провайдеров загружается при буте приложения. + Можно было рассказать про фичи реализованные при использовании swoole. Например про ускорение за счет concurrently запросов(в бд например).

    • @FlagStudio
      @FlagStudio  Год назад

      Хорошая идея, как-нибудь расскажем! 👀

    • @sergeysaharov5750
      @sergeysaharov5750 Год назад

      Полностью с вами согласен, но детально осветить все фичи в одном докладе сложно, можно попросту не уложиться в лимит времени)