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... - кошелек.
незаслуженно мало подписчиков для такого внятного и полезного контента !
Андрей, спасибо за труды
Круто было бы увидеть от вас видео про паттерны проектирования или краткий курс по docker.
Уважаемый автор, не забрасывай канал. Таких толковых видео на Ютубе очень мало.
Благодарю. Все будет, но видимо не раньше зимы, пока много работы.
на последней работе внедрял RoadRunner, очень интересная штука. При должной сноровке получается просто ракета, потребляющая в 3 раза меньше ресурсов сервера и плюс ко всему практчески неубиваемая. Вместо традиционного подхода приложение на PHP демонизируется в бесконечный цикл и обменивается запросами и ответами PSR7 с фронтендом на GO.
Жаль, что автор забросил канал :"( Такой приятный и объясняет очень достойно.
Дела, дела, работа. Но есть ещё, что рассказать. Может узкие темы ещё подниму для обсуждения/урока. Благодарю за отзыв.
@@АндрейШестаков-н6м это радует, ждём новых выпусков)
Андрей, хочу отметить, что у вас очень качественный контент. Вам бы курс сделать по пыхе.
Добрый день. Весьма полезное видео по настройке... Спасибо.. Было бы здорово увидить видео о работе web серверов, более абстрактное, без каких то примеров настроек.. Чтобы лучше разобраться с создаваемыми процессами, потребление памяти и cpu .. и варианты улучшения в случае роста трафика
Почему так мало подписчиков? Это ж топ контент
i know it is kinda randomly asking but do anyone know of a good site to watch new tv shows online ?
@Noe Bryce I would suggest flixzone. You can find it by googling =)
Потому что, без музыки и эффектов и прочей чепушни. У таких полно подписчиков и материал у них как мультик . Просто повторяешь за ними и что-то получается.
А у Андрея Шестакова материал несет более осмысленный, информативный характер. Ты мало чему научился, но много чего осмыслил
Ну да. Как типо у инфоциган Гоши Дударя и Хауди Хо и многих других.
Спасибо
Наконец-то я нашел это! Везде, в т ч. хваленых "англоязычных источниках" не мог найти этой информации. Везде рассказывают про установку количества процессов так - "в зависимости от ваших задачь и ресурсов сервера". Блин ну ок, 16 гб оперативы, задача - спарсить весь интернет за 2 сек. Иии что? Сколько указывать? 20? 500? 1000000?
А здесь вы всё подробно, с расчетами рассказали. Спасибо! Еще один плюс в копилку знаний.
Спасибо за объяснения. Всё чётко и понятно.
Огромное спасибо за ролик. Как раз мегодня столкнулся с проблемой, что phpfpm отваливался из недостатка процессов. Благодаря вам понял, как правильно настроить процессы, что и сделал. И заодно узнал, что soapui позволяет проводить нагрузочные тесты
лукас от сео-гуру СЕООНЛИ
Крутой.
Очень полезный канал. Спасибо за информацию.
Хороший видос. Довольно коротко и по делу. Лайк
Полезное видео, класс! Автору, спасибо!
Спасибо большое! Все просто, понятно и по делу - как раз то что я и хотел узнать
оставлю 70ый комментарий под видео(жаль портить такую хорошую цифру как 69.. xD) Огромное спасибо за такое лаконичное и очень понятное объяснение! я за 20 минут понял то что не вкуривал до конца последние лет 5-7!!!!! низкий поклон!
Спасибо, очень дельно
Спасибо, выручил
В любом случае, спасибо за проффит
Отличные темы поднимаешь! А то кругом одна банальщина, по типу как настроить nginx + php-fpm. А вот глубже то никто особо и не копает. Жаль, что ты, похоже, забросил канал.
Благодарю за отзыв. Надеюсь, что ещё выйду в эфир. К сожалению, пока причина банальна - нехватка времени на фоне всех дел и забот. Спасибо!
Просто, доходчиво, но слегка длинновато. Можно сделать версию 2.0 и ужать до 4 минут.
Спасибо!
От души!
На несчастных свободных 700mb RAM и 3 CPU поднастроил конфиг, сайт зажил новой жизнью
Большое спасибо за ваш труд!
круто!
спасибо за работу. мне понравилось видео
PHP-FPM спасибо, круто объяснил
👍
А как вы определяете оптимальные значения параметров PHP-FPM для вашего сервера? Лично я, когда решил освоить веб-разработку, выбирал курсы для получения практических навыков. Рассматривал разные варианты, но выбрал Skypro из-за отличных отзывов. Курсы были настолько структурированы и понятны, что уже через пару месяцев до окончания обучения смог устроиться на работу с хорошей зарплатой))
не знал, что soapui так умеет
Количество процессов зависит больше не от памяти, а от количества ядер, а точнее даже потоков в процессоре. Нет никого смысла ставить 200 процессов, если у тебя 4 ядра. Хорошей практикой считается х2-х4 процессов по отношению к количеству ядер, если ставить больше, то производительность даже падает. Так же установка в статик повышает производительность, менеджеру не надо тратить время на создание процессов, а потом на утилизацию. Сам он по себе памяти ест мало, пусть всегда эта пачка процессов будет висеть в режиме ожидания это считанные мегабайты
имхо можно сделать pm = ondemand и не парится... у меня просто реальный проект был на котором у меня вечно падал php-fpm из-за того что стоял pm = dynamic
Поддерживаю канал.
Благодарю, коллега!
Очень круто! спасибо! а можно узнать какие у вас настройки nginx и mysql (docker)?
Если оперативной памяти мало - 512-1024 Мбайт - то лучше использовать ondemand.
Это для тех - кто юзает бюджетные тарифы VPS )
Бля... Спасибо большое за такой контент в нормальном виде!!
Спасибо! Но мало, хочу еще. Есть блог?
Добрый день! Спасибо за видео. Подскажите, как мне вывести конфиг, если php-fpm запущена как служба (php7.2-fpm.service)? Если просто ввести php-fpm -tt, то будет ошибка php-fpm: command not found
симлинк сделай: sudo ln -s /usr/sbin/php-fpm7.2 /usr/sbin/php7.2-fpm
только пиши: php7.2-fpm -tt
Сделайте , пожалуйста, выпуски для самых новичков в PHp !
Для новичков контента на UA-cam полно
интересно, а если мы упакуем php-fpm в docker, то методика расчета предложенная не совсем подходит так как образ не изменяемый или собирать для каждой машины свой образ и заранее знать параметры хост машин, как найти золотую середину
отдельно можно монтировать конфиги в docker-compose.yml аля php.ini
Я как понимаю расчет исходил из параметров локальной машины, с учетом того, что боевой сервер расположен на нашей(локальной) машине? А что касаемо внешнего сервера(хостинга) какие параметры мы можем получить о ядрах и тд и сможем ли мы применить такую же операцию на внешнем сервере? Или я не правильно понял видео-урок?
Подключаешься по ssh к внешнему серверу и работаешь так же, как на видео
Подозреваю что увеличение кол-ва обработки запросов, так же потянет за собой увеличение расходов: оперативный памяти, нагрузку на цп и жёсткий диск... Выход так себе...
Ничто не дается бесплатно =)
Немного пристранная задача, к программированию конечно имеет отношение, но в целом, скорее к архитектуре, имхо.
Благодарю за отзыв! В целом могу сказать, что эти знания необходимы PHP разработчику. Возможно только в очень крупных компаниях, где есть собственный батальон devOps`ов и администраторов, существует понятие "чистых программистов", которые занимаются непосредственно только кодингом, но реальность иная.
Андрей, все норм. Я же не видел всех компаний и структур. Сужу исключительно своим опытом. В любом случае, такой опыт не будет лишним никому из ИТ.
@@otfly просто дополнил мысль. Спасибо.
Спасибо, что думаете по поводу pm static? По идее должно дать максимальную производительность, т.к. не будет затрачиваться время на создание и удаление процессов
В целом - да, static может стать выигрышным вариантом при соблюдении как минимум условий:
- памяти достаточно, чтобы держать постоянно N процессов на готове.
- нагрузка на проект распределена равномерно и нет сильных пиков.
- "отзывчивость" (время отклика) для проекта более критично, чем память.
Мыслите верно, выбираемый вариант зависит от контекста и доступного железа. Static, dynamic, ondemand - любой из вариантов может подойти под определенный контекст. Тут нет однозначного простого ответа.
cool))
Рут, бро, не раут
Введите на youtube запрос route pronunciation - в британском английском произносится действительно рут, но в американском раут.
Использую произношение route как раут намеренно, чтобы на русский слух не путать со словом root, которое тоже в программировании имеет свой смысл.
А как это мониторить?
Как вариант можно использовать службу мониторинга pinba. Добавить логирования на уровне nginx. А также написать bash скрипт, который в фоновом режиме может анализировать статистику (количество, потребляемая память) по открытым php-fpm процессам.
пи эйч пы 00:18
Как же режет ухо от «раут». Сударь, route читается как рут
Верно подметили, скорректируюсь =)
@@АндрейШестаков-н6м спасибо 🙏
а ещё root читается как рут
Спасибо!
Спасибо!