PHP улучшаем производительность: настройки PHP-FPM

Поділитися
Вставка
  • Опубліковано 4 жов 2024
  • t.me/phpashest... - php телеграмм канал.
    t.me/phpmentor - eng php телеграмм канал.
    0:51 - суть проблемы
    3:02 - симуляция нагрузки
    4:02 - настройки PHP-FPM
    10:50 - вычисляем возможные значения для конфигурации PHP-FPM
    16:29 - результаты
    17:40 - запуск htop
    Команды из видео
    вывести конфиг
    php-fpm -tt
    отобразить используемую память
    free -hl
    посмотреть память занимаемую одним процессом
    ps -ylC php-fpm --sort:rss
    Буду рад поддержке: лайк, комментарий (адекватная критика тоже приветствуется), денюжка - все мотивирует в плюс.
    www.donational... - кошелек.

КОМЕНТАРІ • 79

  • @Rymblnec1
    @Rymblnec1 Рік тому +13

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

  • @fugu_dev
    @fugu_dev 3 роки тому +22

    Круто было бы увидеть от вас видео про паттерны проектирования или краткий курс по docker.

  • @leon1595
    @leon1595 3 роки тому +6

    Уважаемый автор, не забрасывай канал. Таких толковых видео на Ютубе очень мало.

  • @rusk911
    @rusk911 Місяць тому

    на последней работе внедрял RoadRunner, очень интересная штука. При должной сноровке получается просто ракета, потребляющая в 3 раза меньше ресурсов сервера и плюс ко всему практчески неубиваемая. Вместо традиционного подхода приложение на PHP демонизируется в бесконечный цикл и обменивается запросами и ответами PSR7 с фронтендом на GO.

  • @kind1y
    @kind1y 2 роки тому +4

    Жаль, что автор забросил канал :"( Такой приятный и объясняет очень достойно.

    • @АндрейШестаков-н6м
      @АндрейШестаков-н6м  2 роки тому +3

      Дела, дела, работа. Но есть ещё, что рассказать. Может узкие темы ещё подниму для обсуждения/урока. Благодарю за отзыв.

    • @kind1y
      @kind1y 2 роки тому

      @@АндрейШестаков-н6м это радует, ждём новых выпусков)

  • @wbrframe
    @wbrframe 5 місяців тому +1

    Андрей, хочу отметить, что у вас очень качественный контент. Вам бы курс сделать по пыхе.

  • @altasdallas711
    @altasdallas711 3 роки тому +4

    Добрый день. Весьма полезное видео по настройке... Спасибо.. Было бы здорово увидить видео о работе web серверов, более абстрактное, без каких то примеров настроек.. Чтобы лучше разобраться с создаваемыми процессами, потребление памяти и cpu .. и варианты улучшения в случае роста трафика

  • @ИльяСилантьев-ц6х
    @ИльяСилантьев-ц6х 3 роки тому +11

    Почему так мало подписчиков? Это ж топ контент

    • @noebryce3386
      @noebryce3386 3 роки тому

      i know it is kinda randomly asking but do anyone know of a good site to watch new tv shows online ?

    • @lennoxtrey3109
      @lennoxtrey3109 3 роки тому

      @Noe Bryce I would suggest flixzone. You can find it by googling =)

    • @UserU-d2v
      @UserU-d2v 3 роки тому +3

      Потому что, без музыки и эффектов и прочей чепушни. У таких полно подписчиков и материал у них как мультик . Просто повторяешь за ними и что-то получается.
      А у Андрея Шестакова материал несет более осмысленный, информативный характер. Ты мало чему научился, но много чего осмыслил

    • @ВячеславТараканов-б9и
      @ВячеславТараканов-б9и 10 місяців тому

      Ну да. Как типо у инфоциган Гоши Дударя и Хауди Хо и многих других.

  • @blook1413
    @blook1413 Місяць тому

    Спасибо

  • @ВячеславТараканов-б9и
    @ВячеславТараканов-б9и 10 місяців тому

    Наконец-то я нашел это! Везде, в т ч. хваленых "англоязычных источниках" не мог найти этой информации. Везде рассказывают про установку количества процессов так - "в зависимости от ваших задачь и ресурсов сервера". Блин ну ок, 16 гб оперативы, задача - спарсить весь интернет за 2 сек. Иии что? Сколько указывать? 20? 500? 1000000?
    А здесь вы всё подробно, с расчетами рассказали. Спасибо! Еще один плюс в копилку знаний.

  • @pep421
    @pep421 2 роки тому +1

    Спасибо за объяснения. Всё чётко и понятно.

  • @BehzodSabirov
    @BehzodSabirov 2 роки тому +1

    Огромное спасибо за ролик. Как раз мегодня столкнулся с проблемой, что phpfpm отваливался из недостатка процессов. Благодаря вам понял, как правильно настроить процессы, что и сделал. И заодно узнал, что soapui позволяет проводить нагрузочные тесты

  • @seoonlyRU
    @seoonlyRU 2 роки тому +1

    лукас от сео-гуру СЕООНЛИ

  • @Jonstonrich
    @Jonstonrich Місяць тому

    Крутой.

  • @АндрейЗахватошин-к6ш

    Очень полезный канал. Спасибо за информацию.

  • @Andrey-gs2mm
    @Andrey-gs2mm Рік тому

    Хороший видос. Довольно коротко и по делу. Лайк

  • @volodya-nrg
    @volodya-nrg 2 роки тому

    Полезное видео, класс! Автору, спасибо!

  • @yaolegoleynik
    @yaolegoleynik 3 роки тому +2

    Спасибо большое! Все просто, понятно и по делу - как раз то что я и хотел узнать

  • @iamopk8987
    @iamopk8987 6 місяців тому

    оставлю 70ый комментарий под видео(жаль портить такую хорошую цифру как 69.. xD) Огромное спасибо за такое лаконичное и очень понятное объяснение! я за 20 минут понял то что не вкуривал до конца последние лет 5-7!!!!! низкий поклон!

  • @vecheria
    @vecheria 2 роки тому

    Спасибо, очень дельно

  • @ИванДутов-р2б
    @ИванДутов-р2б Рік тому

    Спасибо, выручил

  • @otfly
    @otfly 3 роки тому

    В любом случае, спасибо за проффит

  • @GexPlayerMD
    @GexPlayerMD 2 роки тому +6

    Отличные темы поднимаешь! А то кругом одна банальщина, по типу как настроить nginx + php-fpm. А вот глубже то никто особо и не копает. Жаль, что ты, похоже, забросил канал.

    • @АндрейШестаков-н6м
      @АндрейШестаков-н6м  2 роки тому +2

      Благодарю за отзыв. Надеюсь, что ещё выйду в эфир. К сожалению, пока причина банальна - нехватка времени на фоне всех дел и забот. Спасибо!

  • @zhartaunik
    @zhartaunik 2 роки тому

    Просто, доходчиво, но слегка длинновато. Можно сделать версию 2.0 и ужать до 4 минут.

  • @EscapefromWunderland-jz2yc
    @EscapefromWunderland-jz2yc 8 місяців тому

    Спасибо!

  • @mikhail3147
    @mikhail3147 2 роки тому

    От души!

  • @freelax947
    @freelax947 5 місяців тому

    На несчастных свободных 700mb RAM и 3 CPU поднастроил конфиг, сайт зажил новой жизнью

  • @НиколайШироков-т7л

    Большое спасибо за ваш труд!

  • @exhum4n274
    @exhum4n274 2 роки тому

    круто!

  • @reborn3212
    @reborn3212 2 роки тому

    спасибо за работу. мне понравилось видео

  • @IgorLukashevich
    @IgorLukashevich 3 роки тому

    PHP-FPM спасибо, круто объяснил

  • @abduqodirabdumalikov7507
    @abduqodirabdumalikov7507 2 роки тому

    👍

  • @Rosalinnnnd
    @Rosalinnnnd Місяць тому

    А как вы определяете оптимальные значения параметров PHP-FPM для вашего сервера? Лично я, когда решил освоить веб-разработку, выбирал курсы для получения практических навыков. Рассматривал разные варианты, но выбрал Skypro из-за отличных отзывов. Курсы были настолько структурированы и понятны, что уже через пару месяцев до окончания обучения смог устроиться на работу с хорошей зарплатой))

  • @litvinenkow
    @litvinenkow Рік тому

    не знал, что soapui так умеет

  • @KDenisG
    @KDenisG Місяць тому

    Количество процессов зависит больше не от памяти, а от количества ядер, а точнее даже потоков в процессоре. Нет никого смысла ставить 200 процессов, если у тебя 4 ядра. Хорошей практикой считается х2-х4 процессов по отношению к количеству ядер, если ставить больше, то производительность даже падает. Так же установка в статик повышает производительность, менеджеру не надо тратить время на создание процессов, а потом на утилизацию. Сам он по себе памяти ест мало, пусть всегда эта пачка процессов будет висеть в режиме ожидания это считанные мегабайты

  • @0020-l1w
    @0020-l1w Місяць тому

    имхо можно сделать pm = ondemand и не парится... у меня просто реальный проект был на котором у меня вечно падал php-fpm из-за того что стоял pm = dynamic

  • @eleimt
    @eleimt 3 роки тому

    Поддерживаю канал.

  • @Hose1021
    @Hose1021 3 роки тому +1

    Очень круто! спасибо! а можно узнать какие у вас настройки nginx и mysql (docker)?

  • @naillatypov1
    @naillatypov1 2 роки тому

    Если оперативной памяти мало - 512-1024 Мбайт - то лучше использовать ondemand.
    Это для тех - кто юзает бюджетные тарифы VPS )

  • @Daniil260620000
    @Daniil260620000 3 роки тому

    Бля... Спасибо большое за такой контент в нормальном виде!!

  • @PupaLupaZ
    @PupaLupaZ 2 роки тому

    Спасибо! Но мало, хочу еще. Есть блог?

  • @ilyasavenok9051
    @ilyasavenok9051 2 місяці тому

    Добрый день! Спасибо за видео. Подскажите, как мне вывести конфиг, если php-fpm запущена как служба (php7.2-fpm.service)? Если просто ввести php-fpm -tt, то будет ошибка php-fpm: command not found

    • @0020-l1w
      @0020-l1w Місяць тому

      симлинк сделай: sudo ln -s /usr/sbin/php-fpm7.2 /usr/sbin/php7.2-fpm
      только пиши: php7.2-fpm -tt

  • @Alonso_Kinn
    @Alonso_Kinn 2 роки тому +1

    Сделайте , пожалуйста, выпуски для самых новичков в PHp !

    • @mrfriz
      @mrfriz Рік тому

      Для новичков контента на UA-cam полно

  • @игорьмамоненко
    @игорьмамоненко 2 роки тому

    интересно, а если мы упакуем php-fpm в docker, то методика расчета предложенная не совсем подходит так как образ не изменяемый или собирать для каждой машины свой образ и заранее знать параметры хост машин, как найти золотую середину

    • @wolfganggahlnback2472
      @wolfganggahlnback2472 11 місяців тому

      отдельно можно монтировать конфиги в docker-compose.yml аля php.ini

  • @rank5011
    @rank5011 3 роки тому

    Я как понимаю расчет исходил из параметров локальной машины, с учетом того, что боевой сервер расположен на нашей(локальной) машине? А что касаемо внешнего сервера(хостинга) какие параметры мы можем получить о ядрах и тд и сможем ли мы применить такую же операцию на внешнем сервере? Или я не правильно понял видео-урок?

    • @zakharg
      @zakharg 3 роки тому

      Подключаешься по ssh к внешнему серверу и работаешь так же, как на видео

  • @ABC-3-ABC
    @ABC-3-ABC 2 роки тому

    Подозреваю что увеличение кол-ва обработки запросов, так же потянет за собой увеличение расходов: оперативный памяти, нагрузку на цп и жёсткий диск... Выход так себе...

  • @otfly
    @otfly 3 роки тому

    Немного пристранная задача, к программированию конечно имеет отношение, но в целом, скорее к архитектуре, имхо.

    • @АндрейШестаков-н6м
      @АндрейШестаков-н6м  3 роки тому +4

      Благодарю за отзыв! В целом могу сказать, что эти знания необходимы PHP разработчику. Возможно только в очень крупных компаниях, где есть собственный батальон devOps`ов и администраторов, существует понятие "чистых программистов", которые занимаются непосредственно только кодингом, но реальность иная.

    • @otfly
      @otfly 3 роки тому

      Андрей, все норм. Я же не видел всех компаний и структур. Сужу исключительно своим опытом. В любом случае, такой опыт не будет лишним никому из ИТ.

    • @АндрейШестаков-н6м
      @АндрейШестаков-н6м  3 роки тому

      @@otfly просто дополнил мысль. Спасибо.

  • @diso8850
    @diso8850 3 роки тому

    Спасибо, что думаете по поводу pm static? По идее должно дать максимальную производительность, т.к. не будет затрачиваться время на создание и удаление процессов

    • @АндрейШестаков-н6м
      @АндрейШестаков-н6м  3 роки тому +4

      В целом - да, static может стать выигрышным вариантом при соблюдении как минимум условий:
      - памяти достаточно, чтобы держать постоянно N процессов на готове.
      - нагрузка на проект распределена равномерно и нет сильных пиков.
      - "отзывчивость" (время отклика) для проекта более критично, чем память.
      Мыслите верно, выбираемый вариант зависит от контекста и доступного железа. Static, dynamic, ondemand - любой из вариантов может подойти под определенный контекст. Тут нет однозначного простого ответа.

  • @ПолосьмакОлександр

    cool))

  • @i.am.rossalex
    @i.am.rossalex Рік тому

    Рут, бро, не раут

    • @АндрейШестаков-н6м
      @АндрейШестаков-н6м  Рік тому +1

      Введите на youtube запрос route pronunciation - в британском английском произносится действительно рут, но в американском раут.
      Использую произношение route как раут намеренно, чтобы на русский слух не путать со словом root, которое тоже в программировании имеет свой смысл.

  • @eduardmart1237
    @eduardmart1237 2 роки тому

    А как это мониторить?

    • @АндрейШестаков-н6м
      @АндрейШестаков-н6м  2 роки тому

      Как вариант можно использовать службу мониторинга pinba. Добавить логирования на уровне nginx. А также написать bash скрипт, который в фоновом режиме может анализировать статистику (количество, потребляемая память) по открытым php-fpm процессам.

  • @myyyp1
    @myyyp1 2 роки тому

    пи эйч пы 00:18

  • @PavelOmelchenko
    @PavelOmelchenko 3 роки тому +2

    Как же режет ухо от «раут». Сударь, route читается как рут

  • @ТимурТавеев-е1ы

    Спасибо!

  • @asyrtmach
    @asyrtmach Рік тому

    Спасибо!